博客
代理
goproxy.io
查看go的配置
go env
初始化
go mod init xxxx
文件结构
- bin
- pkg
- src
打包 运行
安装环境和各种基本命令见这个url
https://www.liwenzhou.com/posts/Go/install_go_dev/
go build 打包成exe,执行exe
go build -o xxx.exe 打包成xxx.exe
go run 执行某个go文件
go install 打包&拷贝
Mac 下编译 Linux 和 Windows平台 64位 可执行程序:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Linux 下编译 Mac 和 Windows 平台64位可执行程序:
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Windows下编译Mac平台64位可执行程序:
SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build
package main
import "fmt"
func main(){
fmt.Println("hello world!");
}
变量
var xxx string
var yyy int
var zzz bool
var (
xxx string
yyy int
zzz bool
)
go语言中非全局的变量声明必须使用,不使用就编译过不去
声明变量同时赋值
var xxx string = "xxx"
可以省略类型声明,在初始化时由编译器自动判断
简短变量声明
:=
xxx := "xxx"
常量
const
iota 常量计数器 每增加一行常量声明,计数器+1
const (
n1 = iota //0
n2 //1
n3 //2
n4 //3
)
使用_跳过某些值
const (
n1 = iota //0
n2 //1
_ //2
n4 //3
)
const (
n1 = iota //0
n2 = 100
n3 //2
n4 //3
)
多个常量声明在一行
d1,d2 = iota +1, iota +2 // 1 ,2
d3,d4 =iota + 1,iota +2 // 2,3
典型应用
const (
_ = iota
KB = 1 << (10*iota)
MB = 1 << (10*iota)
GB = 1 << (10*iota)
TB = 1 << (10*iota)
PB = 1 << (10*iota)
)
有疑问加站长微信联系(非本文作者)