Go语言基础知识和语法
Go语言特点 没有头文件概念,.go后缀 强类型语言,编译型语言 一个go语言的应用程序,在运行的时候是不需要依赖外部库的 把执行时需要的库都打包到程序中 go程序比较大 如果import的包没有使用,那么程序不允许编译 go语法不区分平台的,在windos下面编译的一个程序,可以在Linux上运行,需要配置环境变量来控制 GOOS:设定运行平台 mac:darwin linux:linux windos:windos GOARCH:目标平台的体系架构 386 amd64 arm Go命令 go build -o 生成文件名.exe 编译文件名.go go run *.go 直接运行程序不会编译成exe文件 安装程序 ./configure make make install —>将编译好的程序安装到指定目录 go install 将编译后的可执行文件安装到 GOBIN 目录下 go mod 参数 go mod 资料连接 go mod 使用 开始使用 Go Module 依赖包存储位置 使用go get获取的包放在$GOPATH/src/目录下 使用go mod下载的依赖包放在$GOPATH/pkg/mod/目录下,所有项目共享 Go目录结构 一般的,一个Go项目在GOPATH下,会有如下三个目录: 一般,bin和pkg目录可以不创建,go命令会自动创建(如 go install),只需要创建src目录即可。 1 2 3 |--bin |--pkg |--src bin存放编译后的可执行文件 1 pkg 存放编译后的包文件 pkg中的文件是Go编译生成的,而不是手动放进去的 src存放项目源文件 Go数据类型 go语言不支持隐式类型转换 比如从int 转为 int 64就会发生编译错误 显示类型转换和隐式类型转换 当两种或多种数据类型进行某种操作时,不需要干预,系统会自动进行隐式转换。 但你需要把一个 long 类型的数据转成 int 时,又或者让 string 与 int 互转,当数据小数点太多时,这时候就必须使用 显式转型 Golang的零值 Go语言中的零值是变量没有做初始化时系统默认设置的值。 所有其他数值型的类型(包括complex64/128)零值都是0,可以用常量表达式代表数值0的任何形式表示出来。 但是类型不能混用,变量类型和零值类型必须匹配。 布尔类型的零值(初始值)为 false,数值类型的零值为 0,字符串类型的零值为空字符串"",而指针、切片、映射、通道、函数和接口的零值则是 nil。 ...