上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 40 下一页
摘要: 1. 并发安全 package main import ( "fmt" "sync" ) var ( sum int wg sync.WaitGroup ) func test() { for i := 0; i < 5000000; i++ { sum += 1 } wg.Done() } fun 阅读全文
posted @ 2021-11-08 14:35 专职 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 1. timer 定时器,时间到了执行,只执行一次 package main import ( "fmt" "time" ) func main() { // 1. timer基本使用 /* timer1 := time.NewTimer(2 * time.Second) t := time.Now 阅读全文
posted @ 2021-11-08 11:07 专职 阅读(431) 评论(0) 推荐(0) 编辑
摘要: package main import ( "database/sql" "gorm.io/driver/mysql" "gorm.io/gorm" ) // 1. 定义模型 type User struct { ID int64 // ID默认被当做主键 //Name *string `gorm: 阅读全文
posted @ 2021-11-07 18:53 专职 阅读(2110) 评论(0) 推荐(0) 编辑
摘要: 1. gorm操作mysql: 1.1 安装gorm gorm官网: https://gorm.io/zh_CN/docs/connecting_to_the_database.html gorm的github地址:https://github.com/go-gorm/gorm go get -u 阅读全文
posted @ 2021-11-07 17:10 专职 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 1. 概念本质上是生产者、消费者模型可以有效的控制goroutine数量,防止暴涨案例:生成一个随机数,计算该随机数每一个数字相加的和,例如:123:1+2+3=6主协程负责生产数据发送到待处理通道中去(发送的不仅仅是数据,而是包含数据的结构体指针)一个子协程负责监听结果通道,一旦有数据,取出来打印 阅读全文
posted @ 2021-11-05 19:52 专职 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 1. 概念 单纯的将函数并发执行是没有意义的,函数与函数之间需要交换数据才能提现并发执行函数的意义虽然可以使用共享内存来进行数据的交换,但是在共享内存在不同的goroutine中容易发生竟态问题,为了保证数据交换的正确性,必须使用互斥量对内存进行加锁,这种做法势必造成性能问题,go语言的并发模型是C 阅读全文
posted @ 2021-11-04 17:10 专职 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 1. runtime.Gosched 让出CPU时间片,重新等待安排任务 package main import ( "fmt" "runtime" ) func main() { go func(s string) { for i :=0; i < 2; i++ { fmt.Println(s) 阅读全文
posted @ 2021-11-04 14:24 专职 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 1. 概念 goroutine 奉行通过通信来共享内存,而不是共享内存来通信 goroutine 是由go的运行时(runtime)调度和管理的 go程序会智能的将goroutine中的任务合理的分配给CPU执行 go语言之所以会被称为现代化编程语言,是因为它在语言层面已经内置了调度和上下文切换的机 阅读全文
posted @ 2021-11-04 11:15 专职 阅读(108) 评论(0) 推荐(0) 编辑
摘要: package main import ( "bytes" "fmt" "io" ) // 此处的w参数默认是一个空接口,当传递进来buf参数时,w就不是空接口了,因为它有类型了,但是动态值是一个空指针 nil func test(w io.Writer) { if w != nil { fmt.P 阅读全文
posted @ 2021-11-03 16:49 专职 阅读(93) 评论(0) 推荐(0) 编辑
摘要: package main import ( "fmt" ) type Sayer interface { say() } type Mover interface { move() } type Animal interface { // 接口与接口嵌套创造出新的接口,Animal接口有Sayer和 阅读全文
posted @ 2021-11-03 16:09 专职 阅读(337) 评论(0) 推荐(0) 编辑
上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 40 下一页