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