摘要: Go 10 http/net、context上下文管理、单元测试、性能基准测试、fmt包、flag包、pprof调试工具 互斥锁 sync.Mutex 是一个结构体,是值类型。给函数传参数的时候要传指针。 两个方法 var lock sync.Mutex lock.Lock() // 加锁 lock 阅读全文
posted @ 2021-05-10 11:01 橘丶阳菜 阅读(317) 评论(0) 推荐(0) 编辑
摘要: Go 9 并发之goroutine 并发和并行的区别 goroutine的启动 将要并发执行的任务包装成一个函数,调用函数的时候前面加上go关键字,就能够开启一个goroutine去执行该函数的任务 goroutine对应的函数执行完,该goroutine就结束了。 程序启动的时候就会自动创建一个g 阅读全文
posted @ 2021-05-10 10:59 橘丶阳菜 阅读(121) 评论(0) 推荐(0) 编辑
摘要: Go 8 time 时间格式化 2006-01-02 15:04:05.000 时间类型 time.Time:time.Now() 时间戳:time.Now().Unix(),time.Now().UnixNano() // 时间对象转时间戳 fmt.Println(now.Unix()) fmt. 阅读全文
posted @ 2021-05-10 10:57 橘丶阳菜 阅读(89) 评论(0) 推荐(0) 编辑
摘要: Go 7 包 包的定义——>package关键字,包名通常是和目录名一致,不能包含- 一个文件夹就是一个包 文件夹里面放的都是.go文件 包的导入——>import 包导入的路径是从$GOPATH/src后面的路径开始写起 单行导入 多行导入 给导入的包起别名 匿名导入 Go不支持循环导入 包中标识 阅读全文
posted @ 2021-05-10 10:55 橘丶阳菜 阅读(92) 评论(0) 推荐(0) 编辑
摘要: Go 6 自定义类型和类型别名 type Myint int // 自定义类型 type newint = int // 类型别名 类型别名只在代码编写过程中有效,编译完之后就不存在,内置的byte和rune都属于类型别名。 结构体 结构体是一种数据类型,一种可以保存多个维度数据的类型。 type 阅读全文
posted @ 2021-05-10 10:53 橘丶阳菜 阅读(943) 评论(0) 推荐(0) 编辑
摘要: Go 5 递归函数 package main import "fmt" // 递归函数,一定要有一个明确的退出条件 // 计算n的阶乘 func f1(n int) int { if n > 0 { res := n * f1(n-1) return res } else { return 1 } 阅读全文
posted @ 2021-05-10 10:52 橘丶阳菜 阅读(97) 评论(0) 推荐(0) 编辑
摘要: Go 4 运算符 算术运算符 +-*\ 逻辑运算符 &&,||,! 位运算符 >>,<<,|,^,& 赋值运算符 =,+=... ++,--是独立的语句,不属于赋值运算符 比较运算符 数组 var arg [30]int 数组包含元素的类型和元素的个数。元素的个数(数组的长度)属于数据类型的一部分。 阅读全文
posted @ 2021-05-10 10:49 橘丶阳菜 阅读(81) 评论(0) 推荐(0) 编辑
摘要: Go 命令 -go build main.go -go run main.go -go install main.go Go语言基础语法 -文件第一行:packae关键字声明包名 -如果要编译可执行文件,必须要有main包合main函数(入口函数),它没有参数也没有返回值 -单行注释 // -多行注 阅读全文
posted @ 2021-05-10 10:47 橘丶阳菜 阅读(73) 评论(0) 推荐(0) 编辑