Go程序设计语言

Go程序设计语言

 Go程序设计语言|200

  • 作者: 【美】艾伦A.A.多诺万 【美】布莱恩W.柯尼汉
  • 简介: 本书由《C程序设计语言》的作者Kernighan和谷歌公司Go团队主管AlanDonovan联袂撰写,是学习Go语言程序设计指南。本书共13章,主要内容包括:Go的基础知识、基本结构、基本数据类型、复合数据类型、函数、方法、接口、goroutine、通道、共享变量的并发性、包、go工具、测试、反射等。本书适合作为计算机相关专业的教材,也可供Go语言爱好者阅读。
  • 出版时间: 2017-05-02
  • ISBN: 9787111558422
  • 分类: 计算机-编程设计
  • 出版社: 机械工业出版社
  • 字数: 199621
  • 在线阅读: 微信读书
  • 划线数量: 6
  • 想法数量: 2

笔记

前言


📌 按值调用的形参传递
💭 call-by-value parameter passing

  • ⏱ 2025-01-18 00:59:26 ^19836794-7XhcCnKze

📌 要实现简单性,就要求在项目的一开始就浓缩思想的本质,并在项目的整个生命周期制定更具体的准则,以分辨出哪些变化是好的,哪些是坏的或致命的。

  • ⏱ 2025-01-19 01:19:35 ^5-3446-3514


📌 一等公民函数
💭 一等公民函数是指在编程语言中,函数可以像其他数据类型(如整数、字符串等)一样被对待。具体来说,一等公民函数具有以下特性:

  1. 赋值给变量:函数可以被赋值给变量。这意味着函数可以像其他值一样被存储和引用。例如,在Go语言中,可以将函数赋值给变量,并在需要时使用该变量。
  2. 作为参数传递:函数可以作为参数传递给其他函数。这使得函数可以用于高阶函数,即接受函数作为参数或返回函数的函数。这种特性允许编写更加抽象和通用的代码,提高代码的复用性。
  3. 作为返回值:函数可以作为其他函数的返回值。这意味着函数可以“返回”其他函数,这在某些编程范式中(如函数式编程)非常有用,可以创建复杂的函数式数据结构。
  4. 存储在数据结构中:函数可以存储在数据结构中,如数组、对象等。这使得函数可以像其他数据一样被管理和操作,增加了编程的灵活性。
  • ⏱ 2025-01-19 01:20:50 ^19836794-7XiKksk0F

📌 默认用UTF-8编码的不可变字符串

  • ⏱ 2025-01-19 01:21:16 ^5-3867-3884

📌 Go还提供了变长栈来运行其轻量级线程,或称为goroutine。这个栈初始时非常小,所以创建一个goroutine的成本极低,创建100万个也完全可以接受。

  • ⏱ 2025-01-19 22:24:27 ^5-4539-4617

📌 采用go工具构建的项目,仅使用文件和标识符的名字(在极少情况下使用特殊注释),就可以推断出一个项目使用的所有库、可执行文件、测试、性能基准、示例、平台相关变体,以及文档。

  • ⏱ 2025-01-19 22:25:12 ^5-4793-4878

📌 Go以一种不同寻常的方式来诠释面向对象程序设计。它没有类继承,甚至没有类。较复杂的对象行为是通过较简单的对象组合(而非继承)完成的。方法可以关联到任何用户定义的类型,而不一定是结构体。具体类型和抽象类型(即接口)之间的关系是隐式的,所以一个具体类型可能会实现该类型设计者没有意识到其存在的接口。

  • ⏱ 2025-01-19 23:43:02 ^5-5614-5761