
Go语言实战开发
文章平均质量分 89
BinaryStarXin
专注于网络技术、各类计算机热门行业技术研究分享、嵌入式开发、人工智能、后端与前端等方面的技术知识文章分享,欢迎留言
展开
-
Go语言实战开发-第2 章 快速开始一个Go 程序(4)
这个函数会创建一个defaultMatcher 类型的值,并将这个值传递给 search.go 代码文件里的 Register 函数,如代码清单 2-46 所示。这个方法会和指定的接收者的类型绑在一起。无论我们是使用接收者类型的值来调用这个方,还是使用接收者类型值的指针来调用这个方法,编译器都会正确地引用或者解引用对应的值,作为接收者传递给 Search 方法,如代码清单 2-37 所示。因为大部分方法在被调用后都需要维护接收者的值的状态,所以,一个最佳实践是,将方法的接收者声明为指针。原创 2023-10-04 21:01:39 · 96 阅读 · 0 评论 -
Go语言实战开发-第2 章 快速开始一个Go 程序(3)
这个函数读取数据文件,并将每个 JSON 文档解码,存入一个 Feed 类型值的切片里,如代码清单 2-29 所示。在第 31 行我们声明了一个名字叫 feeds,值为 nil 的切片,这个切片包含一组指向 Feed类型值的指针。在第 08 行,我们声明了一个叫作 dataFile 的常量,使用内容是磁盘上根据相对路径指定的数据文件名的字符串做初始化。第一个返回值是一个指针,指向 File 类型的值,第二个返回值是 error 类型的值,检查 Open 调用是否成功。这个函数没有参数,会返回两个值。原创 2023-09-13 00:12:41 · 97 阅读 · 0 评论 -
Go语言实战开发-第2 章 快速开始一个Go 程序
第 45 行到第 56 行的代码解释起来比较麻烦,等我们看完 search 包里的其他代码后再来解释。我们现在只解释表面的语法,随后再来解释底层的机制。在第 45 行到第 52 行,我们以 goroutine的方式启动了另一个匿名函数。这个匿名函数没有输入参数,使用闭包访问了 WaitGroup 和results 变量。这个 goroutine 里面调用了 WaitGroup 的 Wait 方法。这个方法会导致 goroutine阻塞,直到 WaitGroup 内部的计数到达 0。之后, goroutine原创 2023-09-12 21:00:30 · 136 阅读 · 0 评论 -
Go语言实战开发-第2 章 快速开始一个Go 程序
为了能更高效地使用语言进行编码, Go 语言有自己的哲学和编程习惯。Go 语言的设计者们从编程效率出发设计了这门语言,但又不会丢掉访问底层程序结构的能力。设计者们通过一组最少的关键字、内置的方法和语法,最终平衡了这两方面。Go 语言也提供了完善的标准库。标准库提供了构建实际的基于 Web 和基于网络的程序所需的所有核心库。让我们通过一个完整的 Go 语言程序,来看看 Go 语言是如何实现这些功能的。这个程序实现的功能很常见,能在很多现在开发的 Go 程序里发现类似的功能。原创 2023-09-11 23:48:00 · 103 阅读 · 0 评论