Golang 101(Go语言101 中文版) v1.21.a第10章:代码包和包引入 第11章:表达式、语句和简单语句 第12章:基本流程控制语法 第13章:协程、延迟函数调用、以及恐慌和恢复 Go类型系统 第14章:Go类型系统概述 - 精通Go编程必读 第15章:指针 第16章:结构体 第17章:值部 - 为了更容易和更深刻地理解Go中的各种值 第18章:数组、切片和映射 - Go中的首要容器类型 第19章:字符串 第20章:函数 - 函数类型和函数值,以及变长参数个数函数 第21章:通道 - Go特色的并发同步方式 第22章:方法 第23章:接口 - 通过包裹不同具体类型的非接口值来实现反射和多态 第24章:类型内嵌 - 不同于继承的类型扩展方式 第25章:非类型安全指针 第26章:泛型 - 如何使用和解读组合类型 第27章:反射 - reflect标准库包中提供的反射支持 一些专题 第28章:代码断行规则 第29章:更多关于延迟函数调用的知识点 第30章:一些恐慌/恢复用例 内置了映射(map)和切片(slice)类型。 支持多态(polymorphism)。 使用接口(interface)来实现裝盒(value boxing)和反射(reflection)。 支持指针。 支持函数闭包(closure)。 支持方法。 支持延迟函数调用(defer)。 支持类型内嵌(type embedding)。 支持类型推断(type deduction or type inference)。0 码力 | 608 页 | 1.08 MB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a第10章:代码包和包引入 第11章:表达式、语句和简单语句 第12章:基本流程控制语法 第13章:协程、延迟函数调用、以及恐慌和恢复 Go类型系统 第14章:Go类型系统概述 - 精通Go编程必读 第15章:指针 第16章:结构体 第17章:值部 - 为了更容易和更深刻地理解Go中的各种值 第18章:数组、切片和映射 - Go中的首要容器类型 第19章:字符串 第20章:函数 - 函数类型和函数值,以及变长参数个数函数 第21章:通道 - Go特色的并发同步方式 第22章:方法 第23章:接口 - 通过包裹不同具体类型的非接口值来实现反射和多态 第24章:类型内嵌 - 不同于继承的类型扩展方式 第25章:非类型安全指针 第26章:泛型 - 如何使用和解读组合类型 第27章:反射 - reflect标准库包中提供的反射支持 一些专题 第28章:代码断行规则 第29章:更多关于延迟函数调用的知识点 第30章:一些恐慌/恢复用例 内置了映射(map)和切片(slice)类型。 支持多态(polymorphism)。 使用接口(interface)来实现裝盒(value boxing)和反射(reflection)。 支持指针。 支持函数闭包(closure)。 支持方法。 支持延迟函数调用(defer)。 支持类型内嵌(type embedding)。 支持类型推断(type deduction or type inference)。0 码力 | 821 页 | 956.82 KB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a第10章:代码包和包引入 第11章:表达式、语句和简单语句 第12章:基本流程控制语法 第13章:协程、延迟函数调用、以及恐慌和恢复 Go类型系统 第14章:Go类型系统概述 - 精通Go编程必读 第15章:指针 第16章:结构体 第17章:值部 - 为了更容易和更深刻地理解Go中的各种值 第18章:数组、切片和映射 - Go中的首要容器类型 第19章:字符串 第20章:函数 - 函数类型和函数值,以及变长参数个数函数 第21章:通道 - Go特色的并发同步方式 第22章:方法 第23章:接口 - 通过包裹不同具体类型的非接口值来实现反射和多态 第24章:类型内嵌 - 不同于继承的类型扩展方式 第25章:非类型安全指针 第26章:泛型 - 如何使用和解读组合类型 第27章:反射 - reflect标准库包中提供的反射支持 一些专题 第28章:代码断行规则 第29章:更多关于延迟函数调用的知识点 第30章:一些恐慌/恢复用例 内置了映射(map)和切片(slice)类型。 支持多态(polymorphism)。 使用接口(interface)来实现裝盒(value boxing)和反射 (reflection)。 支持指针。 支持函数闭包(closure)。 支持方法。 支持延迟函数调用(defer)。 支持类型内嵌(type embedding)。 支持类型推断(type deduction or type inference)。0 码力 | 591 页 | 21.40 MB | 1 年前3
Go vs. GoPlus(Go+)-Windows COM 思想优雅呈现 惊喜4:极度简化但完备的OOP • 废弃大量的 OOP 特性 -继承、构造/析构函数、虚函数、函数重载等 • 简化的符号访问权限控制 • 取消隐藏的 this 指针 -改为显式定义的 receiver 对象 • OOP 编程核心价值原来如此简单 -只是多数人都无法看透 惊喜5:错误处理规范 • 函数多返回值 • 内置的 error 类型 • defer -桌面开发(程序员最多的市场) • PC桌面开发 • Mobile开发 • Web开发(含小程序及轻应用) • IoT开发 -数据科学(当前最火的市场,推动Python到语言排行榜第二) • 大数据、人工智能 • 数学软件 Go+ 篇 C O N T E N T S 语言的发展 01 数据科学的发展 02 Go+的设计理念 03 Go+实现的迭代 04 01 语言的发展 静态语言发展史 (有限数据规模): 比如 Excel、Matlab • 未来 -Full Domains (全领域): 智能应用 (Intelligent Application) • 典型代表:抖音、快手 -Big Data (大规模数据) -Any Where (随处): 云 (Cloud)、智能手机 (Smart Phone)、嵌入式设备 (IoT) 数据科学的大爆发时期:DT 时代 • 互联网平民化0 码力 | 54 页 | 1.82 MB | 1 年前3
Hello 算法 1.1.0 Go版10 倍!” ——李沐,亚马逊资深首席科学家 计算机的出现给世界带来了巨大变革,它凭借高速的计算能力和出色的可编程性,成为了执行算法与处理数 据的理想媒介。无论是电子游戏的逼真画面、自动驾驶的智能决策,还是 AlphaGo 的精彩棋局、ChatGPT 的自然交互,这些应用都是算法在计算机上的精妙演绎。 事实上,在计算机问世之前,算法和数据结构就已经存在于世界的各个角落。早期的算法相对简单,例如古 和 Rust 等支持指针的语言中,上述“引用”应被替换为“指针”。 如以下代码所示,链表节点 ListNode 除了包含值,还需额外保存一个引用(指针)。因此在相同数据量下,链 表比数组占用更多的内存空间。 /* 链表节点结构体 */ type ListNode struct { Val int // 节点值 Next *ListNode // 指向下一节点的指针 } // NewListNode 代码中的链表可记作链表 n0 。 2. 插入节点 在链表中插入节点非常容易。如图 4‑6 所示,假设我们想在相邻的两个节点 n0 和 n1 之间插入一个新节点 P , 则只需改变两个节点引用(指针)即可,时间复杂度为 ?(1) 。 相比之下,在数组中插入元素的时间复杂度为 ?(?) ,在大数据量下的效率较低。 第 4 章 数组与链表 hello‑algo.com 75 图 4‑6 链表插入节点示例0 码力 | 383 页 | 18.48 MB | 1 年前3
2.3 用golang写一个操作系统操作系统历史 l 互联⺴⽹网正在整合各个⾏行业,对各个传统⾏行业进⾏行重构 l 互联⺴⽹网的格局正在固化 ⾏行业巨头垄断互联⺴⽹网资源,全⾯面压制创新空间 l ⼈人⼯工智能和智能硬件的快速发展,引起了⼈人们对未来的担忧 l 过度⾏行政监管⽆无处不在,市场机制⽆无法顺畅运⾏行 国内互联⺴⽹网现状 l 数据是互联⺴⽹网的核⼼心,是⽤用户的主权 l 语法,书写格式,++ -‐-‐的一些特性 l 互动和映照 控制机器不再重要,弱化了指针,弱化了对性能的极致追求。 强化了多核,强化了网络 l 迭代中前⾏行0 码力 | 33 页 | 1014.12 KB | 1 年前3
Hello 算法 1.2.0 简体中文 Go 版10 倍!” ——李沐,亚马逊资深首席科学家 计算机的出现给世界带来了巨大变革,它凭借高速的计算能力和出色的可编程性,成为了执行算法与处理数 据的理想媒介。无论是电子游戏的逼真画面、自动驾驶的智能决策,还是 AlphaGo 的精彩棋局、ChatGPT 的自然交互,这些应用都是算法在计算机上的精妙演绎。 事实上,在计算机问世之前,算法和数据结构就已经存在于世界的各个角落。早期的算法相对简单,例如古 和 Rust 等支持指针的语言中,上述“引用”应被替换为“指针”。 如以下代码所示,链表节点 ListNode 除了包含值,还需额外保存一个引用(指针)。因此在相同数据量下,链 表比数组占用更多的内存空间。 /* 链表节点结构体 */ type ListNode struct { Val int // 节点值 Next *ListNode // 指向下一节点的指针 } // NewListNode 代码中的链表可记作链表 n0 。 2. 插入节点 在链表中插入节点非常容易。如图 4‑6 所示,假设我们想在相邻的两个节点 n0 和 n1 之间插入一个新节点 P , 则只需改变两个节点引用(指针)即可,时间复杂度为 ?(1) 。 相比之下,在数组中插入元素的时间复杂度为 ?(?) ,在大数据量下的效率较低。 第 4 章 数组与链表 www.hello‑algo.com 75 图 4‑60 码力 | 384 页 | 18.49 MB | 10 月前3
Hello 算法 1.0.0 Golang版和 Rust 等支持指针的语言中,上述“引用”应被替换为“指针”。 如以下代码所示,链表节点 ListNode 除了包含值,还需额外保存一个引用(指针)。因此在相同数据量下,链 表比数组占用更多的内存空间。 /* 链表节点结构体 */ type ListNode struct { Val int // 节点值 Next *ListNode // 指向下一节点的指针 } // NewListNode 代码中的链表可记作链表 n0 。 2. 插入节点 在链表中插入节点非常容易。如图 4‑6 所示,假设我们想在相邻的两个节点 n0 和 n1 之间插入一个新节点 P , 则只需改变两个节点引用(指针)即可,时间复杂度为 ?(1) 。 相比之下,在数组中插入元素的时间复杂度为 ?(?) ,在大数据量下的效率较低。 第 4 章 数组与链表 hello‑algo.com 75 图 4‑6 链表插入节点示例 *ListNode) { n1 := n0.Next P.Next = n1 n0.Next = P } 3. 删除节点 如图 4‑7 所示,在链表中删除节点也非常方便,只需改变一个节点的引用(指针)即可。 请注意,尽管在删除操作完成后节点 P 仍然指向 n1 ,但实际上遍历此链表已经无法访问到 P ,这意味着 P 已 经不再属于该链表了。 第 4 章 数组与链表 hello‑algo.com0 码力 | 382 页 | 17.60 MB | 1 年前3
Hello 算法 1.0.0b5 Golang版和 Rust 等支持指针的语言中,上述的“引用”应被替换为“指针”。 如以下代码所示,链表节点 ListNode 除了包含值,还需额外保存一个引用(指针)。因此在相同数据量下,链 表比数组占用更多的内存空间。 /* 链表节点结构体 */ type ListNode struct { Val int // 节点值 Next *ListNode // 指向下一节点的指针 } // NewListNode 中的链表可被记做链表 n0 。 2. 插入节点 在链表中插入节点非常容易。如图 4‑6 所示,假设我们想在相邻的两个节点 n0 和 n1 之间插入一个新节点 P , 则只需要改变两个节点引用(指针)即可,时间复杂度为 ?(1) 。 相比之下,在数组中插入元素的时间复杂度为 ?(?) ,在大数据量下的效率较低。 第 4 章 数组与链表 hello‑algo.com 72 图 4‑6 链表插入节点示例 *ListNode) { n1 := n0.Next P.Next = n1 n0.Next = P } 3. 删除节点 如图 4‑7 所示,在链表中删除节点也非常方便,只需改变一个节点的引用(指针)即可。 请注意,尽管在删除操作完成后节点 P 仍然指向 n1 ,但实际上遍历此链表已经无法访问到 P ,这意味着 P 已 经不再属于该链表了。 第 4 章 数组与链表 hello‑algo.com0 码力 | 379 页 | 30.70 MB | 1 年前3
Go 入门指南(The way to Go)动态语言的易开发性进行有机结合,达到完美平 衡,从而使编程变得更加有乐趣,而不是在艰难抉择中痛苦前行。 因此,Go 语言是一门类型安全和内存安全的编程语言。虽然 Go 语言中仍有指针的存在,但并不允许进 行指针运算。 Go 语言的另一个目标是对于网络通信、并发和并行编程的极佳支持,从而更好地利用大量的分布式和多 核的计算机,这一点对于谷歌内部的使用来说就非常重要了。设计者通过 goroutine IDE 内部的控制台 运行。 15. 拥有断点、检查变量值、单步执行、逐过程执行标识库中代码的能力。 16. 能够方便的存取最近使用过的文件或项目。 17. 拥有对包、类型、变量、函数和方法的智能代码补全的功能。 18. 能够对项目或包中的代码建立抽象语法树视图(AST-view)。 19. 内置 Go 的相关工具。 20. 能够方便完整地查阅 Go 文档。 21. 能够方便地在不同的 首先,它是为了避免像 C 语言中那样含糊不清的声明形式,例如: int* a, b; 。在这个例子中,只有 a 是 指针而 b 不是。如果你想要这两个变量都是指针,则需要将它们分开书写(你可以在 Go 语言的声明语 法 页面找到有关于这个话题的更多讨论)。 而在 Go 中,则可以和轻松地将它们都声明为指针类型: var a, b *int 其次,这种语法能够按照从左至右的顺序阅读,使得代码更加容易理解。0 码力 | 380 页 | 2.97 MB | 1 年前3
共 39 条
- 1
- 2
- 3
- 4













