Go go golang 语法环境基础
go get 超时问题的解决方案
执行 go env 查看环境地址
# 默认地址 GOPROXY="https://proxy.golang.org,direct"
推荐使用七牛云做代理 终端执行export 即可,关闭终端后失效
export GOPROXY=https://goproxy.cn
永久生效方式:
go env -w GOPROXY=https://goproxy.cn,direct
1.运行命令
go run hello.go
2. 编译命令
go build hello5.go #运行编译后文件 ./hello5
3.println和printf的区别
Println :可以打印出字符串,和变量
Printf : 只可以打印出格式化的字符串,可以输出字符串类型的变量,不可以输出整型变量和整型
go evn GOROOT="/usr/local/go" # go的安装环境 GOPATH="/Users/edz/go" #安装包的路径
4.go判定数据类型 reflect.TypeOf
package main import ( "fmt" "reflect" ) func main() { var x int32 = 20 fmt.Println("type:", reflect.TypeOf(x)) }
5.go 生成随机数
使用的"math/rand"包。 基本随机数 a := rand.Int() b := rand.Intn(100) //生成0-99之间的随机数 fmt.Println(a) fmt.Println(b) 可以生成随机数,但是数值不会变。
生成可变随机数
//将时间戳设置成种子数 rand.Seed(time.Now().Unix()) //生成10个0-99之间的随机数 for i:=0;i<10;i++{ fmt.Println(rand.Intn(100)) }
生成指定范围内的随机数
//生成[15,88]之间的随机数,括号左包含右不包含 n:=rand.Intn(73)+15 //(88-15 )+15 fmt.Println(n)
6. go string []byte相互转换
string 不能直接和byte数组转换 string可以和byte的切片转换 1,string 转为[]byte var str string = "test" var data []byte = []byte(str) 2,byte转为string var data [10]byte byte[0] = 'T' byte[1] = 'E' var str string = string(data[:])
7. go 保留2位小数
# 浮点数保留几位小数的方法 TR := fmt.Sprintf("%.2f", float64(32)/float64(24))