上一页 1 2 3 4 5 6 7 ··· 14 下一页
摘要: 接口值由动态类型和动态值组成 未初始化的接口类型变量的值为nil,其动态类型和动态值都是nil,调用nil接口值上的方法会产生panic 所有类型都实现了空接口interface{},任意值都能赋给空接口类型 接口里方法的名字必须是唯一的,名字相同,参数或返回值不同,也会报错 接口可以内嵌其他接口, 阅读全文
posted @ 2020-05-27 20:45 是的哟 阅读(164) 评论(0) 推荐(0) 编辑
摘要: main goroutine返回时,所有goroutine都会被直接打断,程序退出 go f(x,y),f、x、y的求值发生在当前goroutine中,f的执行发生在新goroutine中 goroutine运行在相同的地址空间中,访问共享内存需要同步 未初始化的channel类型变量的值为nil, 阅读全文
posted @ 2020-05-27 20:41 是的哟 阅读(109) 评论(0) 推荐(0) 编辑
摘要: go语言101,对引用路径作了比较详细的解释 一个代码包可以由若干Go源文件组成。一个代码包的源文件须都处于同一个目录下。 一个目录(不包含子目录)下的所有源文件必须都处于同一个代码包中,亦即这些源文件开头的package pkgname语句必须一致。 所以,一个代码包对应着一个目录(不包含子目录) 阅读全文
posted @ 2020-05-27 20:38 是的哟 阅读(927) 评论(0) 推荐(0) 编辑
摘要: func h() []*int { s := []*int{new(int), new(int), new(int), new(int)} // 使用此s切片 ... s[0], s[len(s)-1] = nil, nil // 指针指向的两个int可以被回收 return s[1:3:3] } 阅读全文
posted @ 2020-05-27 20:36 是的哟 阅读(1723) 评论(0) 推荐(0) 编辑
摘要: func main() { // 可变参数是interface{}类型, var a = []interface{}{1, 2, 3} fmt.Println(a) // 将整个a当作一个interface{},输出 [1,2,3] fmt.Println(a...) // 将a当作interfac 阅读全文
posted @ 2020-05-27 20:35 是的哟 阅读(141) 评论(0) 推荐(0) 编辑
摘要: mutex := make(chan struct{}, 1) // 容量必须为1 increase := func() { mutex <- struct{}{} // 加锁 ...... <-mutex // 解锁 } mutex := make(chan struct{}, 1) mutex 阅读全文
posted @ 2020-05-27 20:33 是的哟 阅读(264) 评论(0) 推荐(0) 编辑
摘要: func source(c chan<- int32) { ra, rb := rand.Int31(), rand.Intn(3) + 1 time.Sleep(time.Duration(rb) * time.Second) // 睡眠1~3秒 c <- ra } func main() { r 阅读全文
posted @ 2020-05-27 20:32 是的哟 阅读(149) 评论(0) 推荐(0) 编辑
摘要: func longTimeRequest() <-chan int32 { r := make(chan int32) go func() { time.Sleep(time.Second * 3) // 模拟一个工作负载 r <- rand.Int31n(100) }() return r } f 阅读全文
posted @ 2020-05-27 20:31 是的哟 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 超时 select { case v := <-in: fmt.Println(v) case <-time.After(time.Second): return } 非阻塞 select { case v := <-in: // 尝试接收 fmt.Println(v) default: } 阅读全文
posted @ 2020-05-27 20:30 是的哟 阅读(207) 评论(0) 推荐(0) 编辑
摘要: type ( subscriber chan interface{} // 订阅者为一个管道 topicFunc func(v interface{}) bool // 主题为一个过滤器 ) // 发布者对象 type Publisher struct { m sync.RWMutex // 读写锁 阅读全文
posted @ 2020-05-27 20:29 是的哟 阅读(275) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 14 下一页