Study notes
错误处理 (下) 错误处理 (下)
在上一篇文章中,我们主要讨论的是从使用者的角度看“怎样处理好错误值”。那么,接下来我们需要关注的,就是站在建造者的角度,去关心“怎样才能给予使用者恰当的错误值”的问题了。 知识扩展问题:怎样根据实际情况给予恰当的错误值? 我们已经知道,构建
2024-09-23
错误处理(上) 错误处理(上)
提到 Go 语言中的错误处理,我们其实已经在前面接触过几次了。比如,我们声明过error类型的变量err,也调用过errors包中的New函数。今天,我会用这篇文章为你梳理 Go 语言错误处理的相关知识,同时提出一些关键问题并与你一起探讨。
2024-09-23
if语句、for语句和switch语句 if语句、for语句和switch语句
在上两篇文章中,我主要为你讲解了与go语句、goroutine 和 Go 语言调度器有关的知识和技法。 内容很多,你不用急于完全消化,可以在编程实践过程中逐步理解和感悟,争取夯实它们。 现在,让我们暂时走下神坛,回归民间。我今天要讲的if语
2024-09-23
go语句及其执行规则(下) go语句及其执行规则(下)
在上一篇文章中,我们讲到了 goroutine 在操作系统的并发编程体系,以及在 Go 语言并发编程模型中的地位和作用等一系列内容,今天我们继续来聊一聊这个话题。 知识扩展问题 1:怎样才能让主 goroutine 等待其他 gorouti
2024-09-23
go语句及其执行规则(上) go语句及其执行规则(上)
你很棒,已经学完了关于 Go 语言数据类型的全部内容。我相信你不但已经知晓了怎样高效地使用 Go 语言内建的那些数据类型,还明白了怎样正确地创造自己的数据类型。 对于 Go 语言的编程知识,你确实已经知道了不少了。不过,如果你真想玩转 Go
2024-09-23
关于指针的有限操作 关于指针的有限操作
在前面的文章中,我们已经提到过很多次“指针”了,你应该已经比较熟悉了。不过,我们那时大多指的是指针类型及其对应的指针值,今天我们讲的则是更为深入的内容。 让我们先来复习一下。 1234567type Dog struct {
2024-09-23
接口类型的合理运用 接口类型的合理运用
在 Go 语言的语境中,当我们在谈论“接口”的时候,一定指的是接口类型。因为接口类型与其他数据类型不同,它是没法被值化的,或者说是没法被实例化的。 更具体地说,我们既不能通过调用new函数或make函数创建出一个接口类型的值,也无法用字面量
2024-09-23
结构体及其方法的使用法门 结构体及其方法的使用法门
我们都知道,结构体类型表示的是实实在在的数据结构。一个结构体类型可以包含若干个字段,每个字段通常都需要有确切的名字和类型。 结构体类型也可以不包含任何字段,这样并不是没有意义的,因为我们还可以为这些类型关联上一些方法,这里你可以把方法看做是
2024-09-23
使用函数的正确姿势 使用函数的正确姿势
在前几期文章中,我们分了几次,把 Go 语言自身提供的,所有集合类的数据类型都讲了一遍,额外还讲了标准库的container包中的几个类型。 在几乎所有主流的编程语言中,集合类的数据类型都是最常用和最重要的。我希望通过这些天的讨论,能让你对
2024-09-23
3 / 11