• 《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

  • 相关阅读:
    《码出高效:Java开发手册》笔记之二-面向对象
    USB3.0 PIPE接口
    区间贪心问题合集
    数据交换格式
    【Python3】Python中的字符串
    Redis数据库安全之旅
    项目上线计划表
    Java POI操作excel
    基于SSH的CRM客户关系管理系统
    用例图包含关系、扩展关系、泛化关系解析(最全总结,非常详细)
  • 原文地址:https://blog.csdn.net/Alexia23/article/details/127930955