go语言

go module

go module是Go1.11版本之后官方推出的版本管理工具,并且从Go1.13版本开始,go module将是Go语言默认的依赖管理工具。 go module有三个可选值:off、on、auto。 GO111MODULE=off 禁用模块支持,编译时会从GOPATH和vendor文件夹中查找包。 GO111MODULE=on 启用模块支持,编译时会忽略GOPATH和vendor文件夹,只根据 go.mod下载依赖。 GO111MODULE=auto,项目根目录有go.mod文件时,开启模块支持。 使用 go module 管理依赖后会在项目根目录下生成两个文件go.mod和go.sum。 查看自己的环境中,GO111MODULE的值。 # go env|grep GO111MODULE GO111MODULE="" 从Go1.13版本开始,为空就是on的状态。 如果想使用GO111MODULE=“off"的方法时,要先设置一下。 # go env -w GO111MODULE="off"

Go中引号的不同作用:单引号、双引号、反引号

1、双引号“ ” 最常用的符号,常用来定义字符串。 双引号中定义的字符串支持转义字符,比如\n将输出换行。 package main import ( "fmt" ) func main() { a := "i" b := "在\\n" c := "这里" fmt.Println(a, b, c) } 输出:i 在\n 这里 2、单引号‘ ’ 单引号用来定义一个byte或者rune。

GO语言的GOROOT和GOPATH

GOROOT #Golang安装目录 GOPATH #Golang项目目录 GOPATH: src #存放源码,开发项目存放在这个目录下 bin #编译后生成的可执行文件存放目录 pkg #第三方包目录 Go1.11版本之后官方推出go module版本管理工具,并且从Go1.13版本开始,go module将是Go语言默认的依赖管理工具。 所以后面开发项目文件就可以不用在GOPATH中的src中了。

Go的程序:运行和编译

package main import ( "fmt" ) func main() { fmt.Println(""Hello,world!) } package 包名:必须项。 如果是要编译执行的程序,那么一定要有一个main包和main函数。 import 库名:可选项。导入多个项包库就用()包起来。 func main():主函数。 如果是要编译执行的程序,那么一定要有一个main函数。 fmt.Println(“Hello,world!"):主程序内容,输出打印“Hello,world!”。 可以不编译运行程序: #go run 程序文件名 也可以编译成二进制文件后再运行: #go build 程序文件名 不同系统平台编译方式,可以跨平台使用。 编译到 linux 64bit $ GOOS=linux GOARCH=amd64 go build 或者可以使用 -o 选项指定生成二进制文件名字 $ GOOS=linux GOARCH=amd64 go build -o 生成二进制文件名

Go设置代理,加速库的下载

由于很多go库很多是国外网站,所以要么下载库会很慢,或者干脆访问不了。 Golang V1.13之后支持通过设置变量GOPROXY来修改代理地址,默认的代理服务器可以改成国内地址https://goproxy.cn go env -w GOPROXY=“https://goproxy.cn,direct” 阿里云 https://mirrors.aliyun.com/goproxy/ nexus社区提供的 https://gonexus.dev ngoproxy.io https://goproxy.io\ 基于athens的公共服务 https://athens.azurefd.net\