【环境变量】html
安装完 go 以后,设置必要环境变量:git
export GOPATH=/home/wc/go-lab export GO111MODULE=on export GOPROXY=https://goproxy.io export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin:/usr/local/protobuf/bin
【模块化】github
`export GO111MODULE=on` 开启 go 模块化包管理,将再也不使用 GOPATH 管理依赖。app
`go mod init /home/wc/go-lab/go-syntax` 用来初始化模块目录。模块化
go.mod 不能在 GOPATH 目录下,go.sum 是当前模块依赖项目的版本锁定。函数
【基础语法】ui
// 定义包名 package main // 须要使用的包 import "fmt" // go run first.go 编译并执行,不会留下可执行文件 // 或者 // go build -o binary/first first.go && ./binary/first // 程序开始执行的函数, main 函数是每个可执行文件必须包含的 func main () { // 当标识符(常量/变量/类型/函数名/结构字段)以一个大写字母开头,那么这种形式的对象就能够被外部包的代码导入使用 // 标识符以小写字母开头,则对包外不可见,但在整个包的内部是可见而且可用的. // GO的字符串链接 + fmt.Println("Google " + "lang") var apple string var orange string var fruit string apple = "Apple" orange = "Orange" fruit = apple + orange; fmt.Println("Fruit " + fruit); } /* 行分割符 注释 标识符:命名变量,类型等程序实体 字符串链接 关键字 */ // 关键字 /* break, default, func, interface, select, case, defer, go, map, struct, chan, else, goto, package, switch const, fallthrough, if, range, type, continue, for, import, return, var, */ // 预约义标识符 /* append, bool, byte, cap, close, complex, complex64, complex128, uint16 copy, false, float32, float64, imag, int, int8, int16, uint32 int32, int64, iota, len, make, new, nil, panic, uint64 print, println, real, recover, string, true, uint, uint8, uintptr */
Src:https://github.com/farwish/go-lab/blob/master/go-syntax/first.gospa