golang文档

(源自:https://golang.google.cn/doc/)

前言

Go编程语言是一个提高程序员工作效率的开源项目
Go富有表现力、简洁、简洁、高效。他让编写并发机制程序变得更加容易,能更好的适应多核CPU和联网设备,同时它新颖的类型体系能构建可伸缩和模块化的组件,Go 可以快速编译为机器代码,并且依然保留了便利的垃圾收集机制和运行期反射能力.总之,它是一种快速、静态类型的编译语言,但感觉又像是一种动态类型的解释语言,

开始

安装Go
下载和安装Go说明

教程:入门
一个相当简短的HelloWorld入门教程,学习一点点关于Go代码,工具,包(package)以及模块(module)的知识

教程:创建模块
一个简短教程,介绍了关于 函数、错误处理、数组、映射、单元测试和编译

教程:使用Go和Gin开发RESTful API
介绍使用Go和gin web框架编写restful webAPI的基础知识

编写Web应用程序
构建一个简单的web应用程序

如何编写Go代码
本文解释了如何在module内开发一组简单的Go package,并演示了如何使用Go命令行来构建(build) 和测试(test)package

Go之旅
用交换方式分三节介绍了Go:第一节涵盖了基本语法和数据结构;第二节详述了方法和接口(methods,interfaces);第三节介绍了并发原语(concurrency primitives) <注:primitives为操作系统的名词,指是执行过程中不可被打断的基本操作>

go get golang.org/x/tour

这将把文件放在工作区的bin目录中。<注:使用命令go env 可以看到go的安装环境配置 然后 查看GOMODCACHE 指向的路径,即是下载位置.>


 理解使用 Go

Go的效力(Effective Go) <注:行业内对这个词并没有翻译,如 Effective Java,Effective C++这类大作,并未声明中文译名>
本文提供了清晰常用的Go代码的编写技巧, 增加了tour<注:就是上文让下载的那个东西>和语言的规范说明,这两个规范都应该首先阅读,这些是任何Go程序员必读科目

编辑器插件和IDE
本文总结了常见的编辑器插件和IDE

诊断
总结了用于诊断Go程序中问题的工具和方法。

管理依赖项
当您的代码使用外部包时,这些包(作为模块分发)将成为依赖项

 

数据库访问

教程:访问关系型数据库
介绍使用Go标准库中database/sql包访问关系数据库的基础知识。

访问关系型数据库
概述Go数据存取特性

打开数据库句柄
你可以使用Go数据库句柄操作数据库,通过数据库连接语句打开数据库句柄后,该句柄代表您管理的连接池

执行不返回数据的sql语句
你可以使用Exec方法执行,诸如 insert,delete,update这类能够改变数据库的sql操作

数据查询
使用query或QueryRow方法,可以返回select查询出来的数据。

使用预定义语句
预定义语句可以重复使用,这样可以避免每次代码执行数据库操作时重新创建语句的开销,从而帮助代码更快地运行。

执行事务
sql.Tx 表示特定的事务语义方法,包括提交和回滚,以及用于执行常见数据库操作的方法。

取消正在执行中的数据库操作
使用context.context,您可以让程序的函数或服务在执行过程中提前停止工作,并返回一个错误

管理连接
对于某些高级程序,可能需要调整连接池参数或显式使用连接。

避免sql注入风险
通过将sql参数值作为sql Package包的入参,可以避免SQL注入风险

  

开发Module

开发和发布模块
您可以将相关package组织到module中,然后发布module供其他开发人员使用,本主题就讲述了如何开发和发布module

模块的发行和版本控制
当你正在开发供他人使用的module,你需要遵循一个工作流程以保证可靠性,一致性,,本主题就描述了使用工作流程的牛皮步骤

管理模块源码
您可以使用本章所描述的存储库约定, 以使你开发的module更便于给其他开发人员使用.

开发一个主版本更新器
对你的用户来说主版本更新是十分要命的,因为这可能引入新的module,并造成巨大破坏,在本章你能学到更多知识

发行一个module
当您创造了一个模板,并想让其他开发人员使用时,您可以发布该模块,使其在Go工具中可见。发布模块后,导入其包的开发人员将能够通过运行go-get等命令来产生对模块的依赖.

module版本号
module开发人员使用分部版本号机制来表示版本的稳定性和向后兼容性。对于每个新发行版,模块的版本号都会具体反映自上一版本以来模块更改

常见问题(FAQ)
回答一些关于Go的常见问题

 

参考

package文档
go标准库 文档

命令行文档
go工具 文档

语言特性
官宣的Go特性

Go module参考
Go依赖关系管理系统的详细参考手册

go.mod文件引用
go.mod文件中包含的指令的参考

go的内存模型
在特定条件下可以保证读取一个goroutine中的变量,以观察在不同goroutine中写入同一变量所产生的值。

发行版历史
Go发行版的所有摘要

漫步代码(Codewalks)

tours项目的目录:
1.First-Class 功能
2.使用马尔可夫链产生任意文本
3.使用Communicating共享内存

工具:
1.关于Go的命令行工具 ;我们为什么要写它,它是啥,它不是啥,它能干啥
2.使用GDB调试Go代码
3.数据竞争检测器-数据竞争检测器手册
4.Go汇编程序快速指南-Go使用的汇编程序简介

维基Wiki

Go Wiki 维护着关于Go语言、工具和相关资源的文章

看一看Learn页面可以找到更多go资源

golang文档

上一篇:PHP:ThinkPHP5.0请求对象和响应对象


下一篇:239. 滑动窗口最大值