• go 入门之路


    go 入门之路

    学习 go 语言的书

    go 的一些基础特性

    • Go 语言一个非常好的目标就是实现所谓的复杂事件处理(CEP).
    • Go 语言是一门类型安全和内存安全的编程语言。虽然 Go 语言中仍有指针的存在,但并不允许进行指针运算。
    • Go 语言的另一个目标是对于网络通信、并发和并行编程的极佳支持,从而更好地利用大量的分布式和多核的计算机。
      • 设计者通过 goroutine 这种轻量级线程的概念来实现这个目标。
      • 通过 channel 来实现各个 goroutine 之间的通信。
      • 他们实现了分段栈增长和 goroutine 在线程基础上多路复用技术的自动化。
    • Go 语言没有类和继承的概念, 通过接口(interface)的概念来实现多态性。(混合型的语言,类型之间没有层级关系), 用Go的理念来思考
    • Go 语言每半年发布一个主要版本,一般在每年的2月和8月。 落后两个版本就会停止维护。

    学习第二步

    阅读以下 Go 知名的免费教程:

    第一本 《The Little Go Book》
    * 短小精湛,涵盖 Go 的语言基础,一两个小时内即可阅读完毕,社区有 中文译本 。

    第二本《The Way to Go》
    * 备受好评的教程,深入浅出,基本上涵盖 Go 语言的方方面面。中文命名 《Go 入门指南》,前往阅读 ,与社区 Wiki 一样,不要求学会,但是适合在你学习的不同阶段重复学习的课程。

    第三本《Go Web 编程》
    * 使用 Go 做 Web 编程相关的课程。前往阅读。

    • 官方入门资料

    • 可重用软件设计的五个原则, 并称之为 SOLID(英文首字母缩写)原则:

      • 单一职责原则(Single Responsibility Principle)
        • 尽量用简单的方法解决问题, A class should have one, and only one, reason to change.
        • 鼓励您将功能,类型、方法结构化为具有自然内聚的包;类型属于彼此,函数服务于单一目的。
      • 开放 / 封闭原则(Open / Closed Principle)
        • Software entities should be open for extension, but closed for modification. 对扩展开放,但对修改是封闭的。
        • 鼓励您使用嵌入将简单类型组合成更复杂的类型。
      • 里氏替换原则(Liskov Substitution Principle)
        • 两种类型表现出的行为使得调用者无法区分,则这两种类型是可替代的。
        • 具有各种具体子类型的抽象基类的规范。
        • 替换是 Go 接口的范围。
        • 流行的做法是一个接口只包含一个方法。
      • 接口隔离原则(Interface Segregation Principle)
        • Clients should not be forced to depend on methods they do not use. 隔离功能完成其工作所需的行为的过程。
        • 鼓励您根据接口而不是具体类型来表达包之间的依赖关系。通过定义小型接口,我们可以更加确信,实现将忠实地满足他们的契约。
      • 依赖倒置原则(Dependency Inversion Principle)
        • High-level modules should not depend on low-level modules. Both should depend on abstractions. Abstractions should not depend on details. Details should depend on abstractions.
        • 在 Go 中,import graph 必须是非循环的。
        • 依赖倒置原则鼓励您将特定的责任,沿着 import graph 尽可能的推向更高层级,推给 main package 或顶级处理程序,留下较低级别的代码来处理抽象接口。
        • 鼓励您按照从编译时间到运行时间的时序,转移 package 所依赖的知识。在 Go 中,我们可以通过特定 package 使用的 import 语句的数量减少看到了这一点。
      • interfaces let you apply the SOLID principles to Go programs, Go 程序的可维护性,更容易变更,将是他们决策的关键因素。
      • 如何以精心设计,解耦,重用,最重要的是响应变化的方式设计 Go 程序。
        • 优秀的软件,可组合的软件,易于更改的软件.
    • 内聚是描述代码片段之间自然相互吸引的特性。

  • 相关阅读:
    一个关于状态机的问题
    8位同步码修改变4位同步码
    BT1120时序,可以用于自测用
    欧几理德,扩展欧几里德和模线性方程组。
    "旋转的风车"----windows(GDI)绘图
    草滩小恪的学习链接(汇总版)
    酒鬼随机漫步(一个矢量类)
    小题精炼-----初试C语言
    大二(上)------我欠青春一份疯狂
    HDU 1027 Ignatius and the Princess II(康托逆展开)
  • 原文地址:https://www.cnblogs.com/longjiang-uestc/p/13834257.html
Copyright © 2020-2023  润新知