Go 编程语言是一个使得程序员更加有效率的开源项目。Go 是有表达力、简 洁、清晰和有效率的。它的并行机制使其很容易编写多核和网络应用,而 新 的类型系统允许构建有 性的模块化程序。Go 编译到机器码非常快 速,同时具有便利的垃圾回收和强大的运行时反射。它是快速的、静态类 型编译语言,但是感觉上是动态类型的,解释型语言。
开发目录
.
├── go_path
│ ├── bin //go bin把编译好的结果移到 $GOPATH/pkg 或者 $GOPATH/bin
│ ├── pkg
│ ├── src //开发目录
一、首先要配置一个建立go的环境变量文件夹
vim ~/.bash_profile
加入
export GOPATH=$HOME/go
export PATH=$HOME/bin:$GOPATH/bin:$PATH
保存
source ~/.bash_profile
二、第一个demo,建一个main.go
package main//所有的 Go 文件以 package <something>开头,对于独立运行的执行文件必须是 package main;
import "fmt"//紧跟着是 import,需要将fmt包加入main,不是main的其他包都被称为库
func main() {
fmt.Printf("Hello,my name is xiaomin")
}
三、构建 Go 程序的最佳途径是使用 go 工具
1、执行main.go在terminal中看
go run main.go
2、go build 加上可以编译的go源文件可以得到一个可执行文件。
构建 main 只需要go build main.go结果是生成main的可执行文件,./main就可以执行
go build main.go
3、go install 在编译源代码之后还安装到指定的目录。go install 命令在内部实际上分成了两步操作:第一步是生成结果文件(可执行文件或者.a包),第二步会把编译好的结果移到 $GOPATH/pkg 或者 $GOPATH/bin。
go install
4、go get 从指定源上面下载或者更新指定的代码和依赖,并对他们进行编译和安装
go get = git clone + go install
5、go clean 命令是用来移除当前源码包里面编译生成的文件
6、go fmt 命令主要是用来帮你格式化所写好的代码文件。使用go fmt命令,更多时候是用gofmt,而且需要参数-w,否则格式化结果不会写入文件。gofmt -w src,可以格式化整个项目。
7、go test 命令,会自动读取源码目录下面名为*_test.go的文件,生成并运行测试用的可执行文件。输出的信息类似。
8、go doc 命令其实就是一个很强大的文档工具。
如何查看相应package的文档呢? 例如builtin包,那么执行go doc builtin;如果是http包,那么执行go doc net/http;查看某一个包里面的函数,那么执行godoc fmt Printf;也可以查看相应的代码,执行godoc -src fmt Printf;
通过命令在命令行执行 godoc -http=:端口号 比如godoc -http=:8080。然后在浏览器中打开127.0.0.1:8080,你将会看到一个golang.org的本地copy版本,通过它你可以查询pkg文档等其它内容。如果你设置了GOPATH,在pkg分类下,不但会列出标准包的文档,还会列出你本地GOPATH中所有项目的相关文档,这对于经常被限制访问的用户来说是一个不错的选择。
9、go fix 用来修复以前老版本的代码到新版本,例如go1之前老版本的代码转化到go1
10、go version 查看go当前的版本
11、go env 查看当前go的环境变量
12、go list 列出当前全部安装的package