摘要: 1. gomodules的初始化 2. 改变模块的依赖关系 阅读全文
posted @ 2021-10-30 21:16 专职 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 0.1 GO module常用命令 go mod init # 初始化go.modgo mod tidy # 更新依赖文件go mod download # 下载依赖文件go mod vendor # 将依赖转移至本地的vendor文件go mod edit # 手动修改依赖文件go mod gra 阅读全文
posted @ 2021-10-30 19:56 专职 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 1. 无缓冲通道 2. 有缓冲通道 有缓冲通道特点:当channel已经满,在向里面写数据就会阻塞,当channel已经为空,在从里面读数据就会阻塞。 3. 关闭channel package mainimport "fmt"func main() { c := make(chan int) go 阅读全文
posted @ 2021-10-30 16:49 专职 阅读(420) 评论(0) 推荐(0) 编辑
摘要: goroutine与线程 /* goroutine与线程1. 可增长的栈os线程一般都有固定的栈内存,通常为2MB,一个goroutine的在其声明周期开始时只有很小的栈(2KB),goroutine的栈是不固定的,它可以按需增大或缩小,goroutine的栈大小限制可以达到1GB,虽然极少会用到这 阅读全文
posted @ 2021-10-30 14:37 专职 阅读(147) 评论(0) 推荐(0) 编辑
摘要: package main import ( "fmt" "runtime" "time" ) func main() { // 用goroutine创建承载一个形参为空,返回值为空的一个函数 go func() { defer fmt.Println("A.defer") func() { defe 阅读全文
posted @ 2021-10-30 11:32 专职 阅读(181) 评论(0) 推荐(0) 编辑
摘要: package main import ( "encoding/json" "fmt" "reflect" ) type Movie struct { Title string `json:"title"` Year int `json:"year"` Price int `json:"rmb"` 阅读全文
posted @ 2021-10-30 09:48 专职 阅读(210) 评论(0) 推荐(0) 编辑
摘要: package main import ( "fmt" "reflect" ) type resume struct { // 反射解析结构体标签tag Name string `info:"name" doc:"我的名字"` Sex string `info:"sex"` } // 方法一:传递结 阅读全文
posted @ 2021-10-30 09:28 专职 阅读(628) 评论(0) 推荐(0) 编辑