一起来学Go
一起来学 Go --(6)Interface
· ☕ 3 分钟
1. 面向接口编程 1.1 特征 面向接口编程,强调的是模块之间通过接口进行交互。首先,调用方指定一组方法签名,然后,由被调用方实现这组方法。 接口编程与其他编程显著不同的一点是,接口编程关注的是方法,而不是属性。在很多的编程场景中,方法是围绕属性进行定义

一起来学 Go --(5)Goroutine 和 Channel
· ☕ 5 分钟
1. Go 中的并发模型 1.1 通信模型 CSP CSP 全称 Communicating Sequential Process ,通信顺序进程,描述的是一种并发通信模型。Process 可以使用很多个 Channel ,而 Channel 不关心谁在使用它,只负责收发数据。 Go 社区中,有一句非常著名的论断: 不要通过共享内存来通信,要通过通信来共享内存。意思是,不

一起来学 Go --(4)常用函数
· ☕ 2 分钟
1. main 和 init 函数 一个 package 里面可以写多个 init 函数,但必须仅包含一个 main 函数。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 package main import ( "fmt" ) func init() { fmt.Println("init 1") } func init() { fmt.Println("init 2") } func main() { fmt.Println("main") } // init 1 // init 2 // main 2. defer 函数 Go 不会立即执行 defer 修饰的代码,而是进行标记,在程序退出之前执行。 1 2

一起来学 Go --(3)Go Modules
· ☕ 3 分钟
1. Go 的包管理机制 1.1 GOPATH GOPATH 通过 go get 命令,拉取代码放到 GOPATH 目录中。 GOPATH 的问题是: 不能进行包版本的管理 使用全局仓库,不能有效进行隔离 1.2 Vendor 1.5 版本开始,Go 中加入了 Vendor 机制。Vendor 解决了 GOPATH 的部分问题。 Vendor 机制通过在项目目录下增加 vendor 文件夹,管理依赖包。 Vendor 的

一起来学 Go --(2)数据与逻辑结构
· ☕ 2 分钟
1. Go 的数据结构 基础类型 布尔类型:bool 整型:byte、int、int8、int16、uint、uintptr 浮点类型:float32、float64 复数类型:complex64、complex128 字符串:string 字符类型:rune 错