go语言
全麦小面包
这个作者很懒,什么都没留下…
展开
-
Mutex:4种易错场景大盘点
以下内容摘录整理自《极客时间》晁岳攀(鸟窝)的专栏——《Go 并发编程实战课》。常见的 4 种错误场景:Lock/Unlock 不是成对出现Copy 已使用的 Mutex(Mutex是值类型,传递的时候是复制)重入(Mutex不是可重入锁)死锁补充:死锁必要的4个条件(破坏其中一个就能避免死锁):互斥: 至少一个资源是被排他性独享的,其他线程必须处于等待状态,直到资源被释放。持有和等待:goroutine 持有一个资源,并且还在请求其它 goroutine持有的资源,也就是咱们原创 2020-10-26 10:43:21 · 236 阅读 · 1 评论 -
GO的Mutex——庖丁解牛看实现
摘录自极客时间专栏原创 2020-10-23 17:23:50 · 387 阅读 · 0 评论 -
Go的数组和切片
数组(array)类型和切片(slice)类型的主要区别:数组类型的值(以下简称数组)的长度是固定的,而切片类型的值(以下简称切片)是可变长的。数组的长度在声明它的时候就必须给定,并且之后不会再改变。可以说,数组的长度是其类型的一部分。比如,[1]string和[2]string就是两个不同的数组类型。而切片的类型字面量中只有元素的类型,而没有长度。切片的长度可以自动地随着其中元素数量的增长而增长,但不会随着元素数量的减少而减小。我们其实可以把切片看做是对数组的一层简单的封装,因为在每个切片的底层原创 2020-10-23 10:36:06 · 245 阅读 · 0 评论 -
Go变量浅析
Go 语言中的程序实体包括变量、常量、函数、结构体和接口。 变量声明:Go 语言的类型推断可以带来哪些好处?动态类型编程语言,如Python或Ruby,也有这种类型推断,可以让程序灵活性的明显提升。但在那些编程语言中,这种提升可以说是用程序的可维护性和运行效率换来的。而Go 语言是静态类型的,所以一旦在初始化变量时确定了它的类型,之后就不可能再改变。这就避免了在后面维护程序时的一些问题。另外,请记住,这种类型的确定是在编译期完成的,因此不会对程序的运行效率产生任何影响。如果只用一原创 2020-10-22 15:11:51 · 109 阅读 · 0 评论 -
go语言的helloWorld
Go语言诞生背景:多核硬件架构超大规模的分布式计算集群WEB模式导致的产品快速迭代首先诞生于2007年的谷歌。原创 2020-10-22 11:20:58 · 151 阅读 · 1 评论