Go to my github

随笔分类 -  【015】Go语言核心36讲

摘要:10 | 通道的基本操作 作为 Go 语言最有特色的数据类型,通道(channel)完全可以与 goroutine(也可称为 go 程)并驾齐驱,共同代表 Go 语言独有的并发编程模式和编程哲学。 Don’t communicate by sharing memory; share memory b 阅读全文
posted @ 2021-10-21 21:25 郑子铭 阅读(531) 评论(3) 推荐(0)
摘要:09 | 字典的操作和约束 至今为止,我们讲过的集合类的高级数据类型都属于针对单一元素的容器。 它们或用连续存储,或用互存指针的方式收纳元素,这里的每个元素都代表了一个从属某一类型的独立值。 我们今天要讲的字典(map)却不同,它能存储的不是单一值的集合,而是键值对的集合。 在 Go 语言规范中,应 阅读全文
posted @ 2021-10-20 20:33 郑子铭 阅读(327) 评论(0) 推荐(1)
摘要:08 | container包中的那些容器 我们在上次讨论了数组和切片,当我们提到数组的时候,往往会想起链表。那么 Go 语言的链表是什么样的呢? Go 语言的链表实现在标准库的container/list代码包中。这个代码包中有两个公开的程序实体——List和Element,List 实现了一个双 阅读全文
posted @ 2021-10-19 22:30 郑子铭 阅读(382) 评论(0) 推荐(0)
摘要:07 | 数组和切片 我们这次主要讨论 Go 语言的数组(array)类型和切片(slice)类型。 它们的共同点是都属于集合类的类型,并且,它们的值也都可以用来存储某一种类型的值(或者说元素)。 不过,它们最重要的不同是:数组类型的值(以下简称数组)的长度是固定的,而切片类型的值(以下简称切片)是 阅读全文
posted @ 2021-10-18 21:11 郑子铭 阅读(582) 评论(0) 推荐(0)
摘要:06 | 程序实体的那些事儿 (下) 在上一篇文章,我们一直都在围绕着可重名变量,也就是不同代码块中的重名变量,进行了讨论。还记得吗? 最后我强调,如果可重名变量的类型不同,那么就需要引起我们的特别关注了,它们之间可能会存在“屏蔽”的现象。 必要时,我们需要严格地检查它们的类型,但是怎样检查呢?咱们 阅读全文
posted @ 2021-10-17 23:16 郑子铭 阅读(500) 评论(0) 推荐(1)
摘要:05 | 程序实体的那些事儿(中) 在前文中,我解释过代码块的含义。Go 语言的代码块是一层套一层的,就像大圆套小圆。 一个代码块可以有若干个子代码块;但对于每个代码块,最多只会有一个直接包含它的代码块(后者可以简称为前者的外层代码块)。 这种代码块的划分,也间接地决定了程序实体的作用域。我们今天就 阅读全文
posted @ 2021-10-16 23:17 郑子铭 阅读(359) 评论(0) 推荐(0)
摘要:04 | 程序实体的那些事儿(上) 还记得吗?Go 语言中的程序实体包括变量、常量、函数、结构体和接口。 Go 语言是静态类型的编程语言,所以我们在声明变量或常量的时候,都需要指定它们的类型,或者给予足够的信息,这样才可以让 Go 语言能够推导出它们的类型。 问题:声明变量有几种方式? packag 阅读全文
posted @ 2021-10-14 23:17 郑子铭 阅读(515) 评论(0) 推荐(0)
摘要:03 | 库源码文件 在我的定义中,库源码文件是不能被直接运行的源码文件,它仅用于存放程序实体,这些程序实体可以被其他代码使用(只要遵从 Go 语言规范的话)。 这里的“其他代码”可以与被使用的程序实体在同一个源码文件内,也可以在其他源码文件,甚至其他代码包中。 那么程序实体是什么呢?在 Go 语言 阅读全文
posted @ 2021-10-13 23:44 郑子铭 阅读(538) 评论(0) 推荐(1)
摘要:02 | 命令源码文件 我们已经知道,环境变量 GOPATH 指向的是一个或多个工作区,每个工作区中都会有以代码包为基本组织形式的源码文件。 这里的源码文件又分为三种,即:命令源码文件、库源码文件和测试源码文件,它们都有着不同的用途和编写规则。 对于 Go 语言学习者来说,你在学习阶段中,也一定会经 阅读全文
posted @ 2021-10-13 00:18 郑子铭 阅读(906) 评论(4) 推荐(3)
摘要:01 | 工作区和GOPATH 从 Go 1.5 版本的自举(即用 Go 语言编写程序来实现 Go 语言自身),到 Go 1.7 版本的极速 GC(也称垃圾回收器),再到 2018 年 2 月发布的 Go 1.10 版本对其自带工具的全面升级,以及可预见的后续版本关键特性(比如用来做程序依赖管理的g 阅读全文
posted @ 2021-10-11 21:51 郑子铭 阅读(1261) 评论(2) 推荐(1)
摘要:目录 开篇词 | 跟着学,你也能成为Go语言高手 导读 | 写给0基础入门的Go语言学习者 导读 | 学习专栏的正确姿势 开篇词 | 跟着学,你也能成为Go语言高手 Go 语言是由 Google 出品的一门通用型计算机编程语言。 Go 程序可以在装有 Windows、Linux、FreeBSD 等操 阅读全文
posted @ 2021-10-10 22:38 郑子铭 阅读(1114) 评论(2) 推荐(3)