社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
Go语言提供了完善的标准库,标准库提供了构建实际的基于Web和基于网络的程序所需的所有核心库。
1.go程序架构
在所有不同的数据源中搜索数据。
这个程序分成多个不同步骤,在多个不同的 goroutine 里运行。从主goroutine开始,一直到执
行搜索的goroutine和跟踪结果的goroutine,最后回到主goroutine。整个项目的结构:
2.程序入口main.go
package main
import (
"log"
"os"
_ "github.com/goinaction/code/chapter2/sample/matchers"
"github.com/goinaction/code/chapter2/sample/search"
)
// init 在 main 之前调用
func init() {
// 将日志输出到标准输出
log.SetOutput(os.Stdout)
}
// main 是整个程序的入口
func main() {
// 使用特定的项做搜索
search.Run("president")
}
2.1Go程序两个特征:
第一个特征是声明的名为main的函数。在构建可执行文件时需要找到这个已经声明的main函
数,把它作为程序的入口。第二个特征是有一个main包。main函数保存在名为main的包里,
否则将不会生成可执行文件。
2.2Go语言的每个代码文件都属于一个包,一个包定义一组编译过的代码,包的名字类似命名空间
,可以用来间接访问包内声明的标识符。这个特性可以把不同包中定义的同名标识符区别开。
2.3关键字import就是导入一段代码,让用户可以访问其中的标识符,如类型、函数、常量和接口。
2.4读者可能注意到导入matchers包的时候,导入的路径前面有一个下划线,代码如下:
_ "github.com/goinaction/code/chapter2/sample/matchers"
这个技术是为了让Go语言对包做初始化操作,但是并不使用包里的标识符。
2.5程序中每个代码文件里的 init 函数都会在 main 函数执行前调用。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!