《go程序设计语言》读书笔记

前30页大概用了一个上午的时间。粗略的将30页作为读此书的基准。30 pages in one day。
这本书大概有三百页,我每天可以阅读30页,如果我能阅读80%的内容,并且能够理解其中的70%,那么给我10个人天,我将掌握这本书的60%。考虑到清明3天,五一5天,3天,哪怕不算上周六周日,6月份吾亦能读完此书。
golang note 第一天
在这里插入图片描述

一个很重要的一点就是不可竭泽而渔,一天的精力是有限的,没有人可以一天学完一本书,人生应该留白而不是满满当当的。

第一章 入门

for是golang中唯一的循环语句,但是有多种形式。
_(下划线)是空标识符。
go doc可以用来查看文档,可以理解为一种代码注释阅读器。
type可以给已有类型命名。

第二章 程序结构

和其他语言一样,golang中的大程序都是从小的基本组件构建而来 :变量存储值;简单表达式通过加和减等操作合并成大的;基本类型通过数组和结构体进行聚合;表达式通过if和for等控制语句来决定执行顺序;语句被组织成函数用于隔离和复用;函数被组织成源文件和包。

在这里我学习了new函数。
new(T),T是类型,例如new(int)

func newInt() *int {
return new(int)
}

包的导入,包的初始化。简单的了解了init函数。

还有一个make函数好像挺重要的,目前我还不太理解。

第三章 基本数据

这里介绍了数据类型
golang的数据类型分为四大类:基础类型、聚合类型、引用类型、接口类型

基础类型

基础类型包括数字、字符串、bool

这一章还介绍了位运算符,但这里我不太好理解。位运算是我的弱点和短板,很难补齐,至少我认为很难。

golang中的字符串是不可变的字节序列。

字符串和数字的相互转换。

常量。
常量生成器iota

第四章 复合数据类型

复合数据类型重点讲解4种:数组、slice、map和结构体。

golang note第二天 todo

2022-04-17

第8章 goroutine和通道

今天困得不行,遂至公司复习了一下goroutine和通道。其实goroutine从概念上来讲还是比较简单的,通道的操作有发送和接收,通道按照有没有缓存分为无缓存通道和有缓存通道。
通道可以再一个goroutine中发送和接收吗?
书中给了明确的回答,不可以,因为通道和goroutine的调度深度关联,如果没有另一个goroutine从通道进行接收,发送者有被永久阻塞的风险。
读到8.5并行循环处实在看不下去了,待从头收拾旧山河吧。

2022-04-09 golang学习第三天
我打算稍微更改下学习策略,因为我无法严格的按照顺序来阅读这本书,毕竟有些内容我不是那么的感兴趣,所以我的阅读方式修改为,我想学哪里,我就读哪里。

第13章 低级编程(底层编程)

我认为这里的翻译其实是有问题的,低级在汉语中的意思,不能够完全的表述golang底层变成的含义,就应该叫做底层编程。
这一章主要涉及两个内容,unsafe包,和cgo包,unsafe我先跳过了,但是cgo,让我想起了曾经的ctypes,曾经沧海难为水,除却巫山不是云。
cgo和ctypes有什么不同呢?好像除了cgo是未golang准备的,ctypes是为python准备的,并没有其他的不同。姑且这么理解,如果任何人有不同看法,欢迎交流讨论。

13.4 使用cgo调用C代码

13.5 快乐

golang真的让人感觉很快乐。
更重要的是在我最需要心灵慰藉的时候,golang成了我的圣经,它让我获得了心灵的宁静。
我不信佛,但是golang对我的作用不亚于佛经对信徒的作用,golang使我获得了真正的宁静。
本书的最后,作者欣然写到,我们希望你和我们一样喜欢用Go来编程。侠之大者,为国为民,如此高风亮节,令人景仰不已。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值