《go程序语言设计》引言

一些阅读笔记和实践笔记, just水滴石穿, 有耐心和坚持🌹

go的优点

  1. 简单
  2. 并行设计
  3. 接口完美
    1. 任何类型可以赋值给interface{}
  4. 对象对象编程
  5. 错误类型error还有defer
  6. 匿名组合, 也支持组合一个指针
  7. 某些语言里面变量可能存在堆上,也可能存在栈上~ go消磨了这个边界
  8. go可以直接嵌入C代码
  9. go的并发机制CSP communicating sequential process
  10. go可以支持过程式编程,也可以用面向对象编程
  11. go语言没有使用预处理器

一些名词

  1. gc 垃圾回收 garbage collection
  2. rpc(remote procedure call) 远程过程调用
  3. gob是go自己的以二进制形式序列化和反序列化程序数据的格式, 可以在encoding包中找到
  4. go语言的所有源代码, 都需要遵从unicode的uft-8编码形式
  5. go支持鸭子类型
    1. 实际上是动态语言的风格
    2. go在编译的过程中, 通过interface实现了鸭子类型(编译的时候会做隐匿的转换)
  6. 静态语言和动态语言
    1. python属于动态语言
      1. 动态语言风格: 变量绑定的类型是不确定的, 运行期间才可以确定, 函数和方法可以接受任何类型的参数, 而且调用的时候不检查参数的类型, 不需要实现接口
    2. go、java、C++属于静态语言,编译期间就可以发现类型不匹配; 会进行静态语言的类型检查;不需要类型显示声明实现了某个接口,只要实现了对应的方法,编译器就可以检测到
  7. communicating sequential process 顺序进程通讯
    1. 并发执行的实体(线程或者进程), 实体之间通过channel进行通信
    2. 携程之间可以异步获取结果,而不需要等待正常的逻辑完成
  8. 过程式编程和面向对象编程
    1. C语言只支持过程式编程
      1. 属性和行为是分开的
    2. java要求面向对象编程
      1. 属性及行为包含在单个对象中, struct

相关的链接:

https://qcrao91.gitbook.io/go/interface/go-yu-yan-yu-ya-zi-lei-xing-de-guan-xi

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值