一,go语言的介绍
Go最早并不是一个Google的正式项目,而是作为一个"20%"的项目出现的,直到2009年才以开源的方式面向大众,目前go team有稳定的发布周期,大约半年一个新的版本,最新的是1.8。
Go语言的出身可以说非常豪华,最早对go语言的讨论是由罗伯特·格瑞史莫、罗伯·派克和肯·汤普逊发起的,主要是为了解决c++中出现的问题而发起的项目。肯·汤普逊是c语言和unix的发明者,罗伯特·格瑞史莫参与设计了Java的HotSpot虚拟机和Chrome浏览器的JavaScript V8引擎,罗博·派克在大名鼎鼎的bell lab侵淫多年,参与了Plan9操作系统、C编译器以及多种语言编译器的设计和实现。
Go语言从2009年开源到现在吸引了很多开发者的注意,分别获得了2009年和2016年的TIOBE之星,如果说2009年那一次是因为Google的影响,那2016年这一次绝对是自身实力的厚积薄发。
详细介绍:https://studygolang.com/articles/10000
二,go语言的基本使用
1,go语言的下载和安装:http://www.runoob.com/go/go-environment.html
2,第一个go语言代码:
package main import "fmt" func main() { fmt.Println("Hello, World!") }
3,go的执行命令
go run 文件名
三,go的基本命令
Go命令一般格式:go command [arg] :其中,command是操作命令,arg是该命令的参数
1,Go的常用命令有:get、run、build、fmt、install、test等
(1) go get go get 命令主要用于动态获取远程代码包,如果是从GitHub上获取,则需要现安装git,如果是从Google Code上获取,则需要安装hg。 #从GitHub上安装GoCode,(-u flag for “update”) go get -u github.com/nsf/gocode 1 2 (2) go run go run 命令用于编译并直接运行程序,它会生成一个临时文件(但不是一个标准的可执行文件),直接在命令行打印输出程序执行结果,方便用户调试。 go run hello.go 1 (3) go build go build 命令用于测试编译包,可检查是否存在编译错误,如果被编译的是main包,会生成可执行文件 #编译 go build hello.go #运行 ./hello 1 2 3 4 (4) go fmt go fmt 格式化源码,有的IDE保存源码时自动执行该命令,比如subl,也可手动执行它。 go fmt hello.go 1 (5) go install go install 命令的作用有两步:第一步,编译导入的包文件,所有导入的包文件编译完才会编译主程序;第二步,将编译后生成的可执行文件放到bin目录下(GOPATH/bin),编译后的包文件放到pkg目录下(GOPATH/bin),编译后的包文件放到pkg目录下(GOPATH/pkg) (6) go test go test命令用于运行测试文件,该命令会自动读取源码目录下的名为:*_test.go的文件,生成并运行测试用的可执行文件,测试成功会显示“PASS”、“OK”等信息。 3 Go 文档查看命令 Go提供godoc命令,帮助用户查看文档,可以查看函数或者包。例如:godoc fmt println,该命令就查询了fmt包中的println函数。 godoc builtin 用于查询Go内置函数等! 有时,用户会觉得在命令行下查看Go文档会比较麻烦,为此Go提供了一个内置命令: godoc -http=:8080 1 该命令可让用户在本地localhost的8080端口,以网页的形式查看Go帮助文档,所以访问:http://127.0.0.1:8080 4 其他命令 除了以上命令,Go还提供了如下一些其他命令: (1) go clean:用来移除当前源码包里面编译生成的文件 (2) go env: 查看当前用户的go环境变量 (3) go fix: 用来修复以前老版本的代码到新版本 (4) go list: 列出当前全部安装的packge (5) go version: 查看当前go版本 5 Go 约定的工作目录 Go语言约定,在安装成功后,至少要在GOPATH目录下建立三个工作目录:bin、pkg、src 这里的工作目录就是指我们存放源代码、函数调用、数据导入的默认路径。 (1) bin: 存放编译后生成的可执行文件 (2) pkg: 存放编译后生成的包文件(.a 文件) (3) src: 存放项目源码文件(.go 文件)
四,go语言的基础组成结构
包声明 引入包 函数 变量 语句 & 表达式 注释