在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
首先go语言号称新时代的C语言,大家可以想像这句话的含义。 下载go语言要注意平台和硬件架构,比如linux-AMD64,你能看懂吗? go语言里面默认文件夹的含义比较多,如下,这里就不再赘述了,大家可以去看《Go并发编程实战 第2版》,这份笔记就是本人学习这本书的记录。 需要注意,go语言不建议直接在src文件夹里放自己的代码,原因自己去脑补。 go build和go install是常用命令,你知道它们分别是干什么的吗? 感觉go语言在import上与python有异曲同工之处,也许大师们的思路都是一样的吧。 来一段代码,如下: go语言的赋值是不是很偷懒?一直认为,节约时间,就是节约生命。还有就是nil这种写法,之前太习惯写null了。 学习一门语言,个人最喜欢的方式是一边修改程序,一边学习,感觉这是最快的方式,不过也有很多人喜欢慢慢琢磨。本书的作者似乎跟我有点像。 go语言还有切片类型,也是数组的一种,这里就不详述了,这种只能用到的时候才能知道了。 没想到这本书里把并发编程讲的如此简单易懂,推荐没有并发编程基础的朋友好好研读一下。 用户态和内核态的概念很重要,CPU默认是用户态,与我之前的理所当然的思路有点不同。当然内核态和用户态可以进行互相转换,一切都在操作系统的掌握之中。 有一个新概念,竞态条件(race condition),解决多个进程访问同一资源的问题。 另一个概念也做了说明,互斥(mutual exculsion),保证只有一个进程或线程在临界区之内。 管道,是单向的,很重要。 信号,SIG开头的,这一节读的比较快,想看看后面的socket,以后再来详细读。 socket,在go语言中也是封装过的,很好用,如下: 上个通讯的结果图,大家能猜出代码是怎么写的吗? 不早了,今天就到这里吧,以后有时间继续看书,请大家耐心等待。。。 |
请发表评论