go

go 程

goroutine 创建一个 goroutine goroutine 优于线程 goroutine goroutine 是和其他函数或方法并发运行的函数或方法 goroutine 可认为是轻量级的线程,比线程创建代价小 创建一个 goroutine 使用 go 可以开始一个 goro

go 类型转换

类型声明 type 声明定义一个新的命名类型,它和某个已有类型使用同样的底层类型。命名;类型提供了一种方式来区分底层类型的不同或不兼容使用,这样就不会

go 结构

package pkg_name定义包名,即程序属于哪个包,每个 go 文件第一行 package main表示一个可独立执行的程序 每个 go 的应用程序必须包含一个 main 包 import pkg_n

go 结构体

定义结构体 访问结构体成员变量 定义结构体 struct 是域的集合 定义结构体需要使用 type 和 struct 关键字 package main import "fmt" type vertex struct { X int Y int } func main() { fmt.Println(vertex{1, 2}) } 声明结构体变量:结构体

go 范围

range 关键字用于 for 循环中迭代数组 array、切片 slice、通道 channel 或 集合 map 的元素 在数组和切片中返回元素的索引和索引对应的值的拷贝,在集合中返回 key-value

go 运算符

算术运算符: +, -, *, /, %, ++, – 关系运算符: ==, !=, >, <, >=, <= 逻辑运算符: &&, ||, ! 位运算符: &, |, ^(异或), <<, >> 赋值运算符: =, +=, -=, *=, /=, %=, <<=, >>=, &=, |=, ^= 其他运算

go 递归函数

定义 func myRecursion() { //myRecursion() }

go 错误处理

go 使用 error 值表示错误状态,通过内置的错误接口提供了非常简单的错误处理机制 error 是一个接口类型,定义 type error interface { Error() string } 可在编码中通过实现 error 接口类型生成错

json 解析时用到的结构体标签

1 只有导出的结构体成员对外部程序 (json) 可见 2 结构体必须解析的字段(required 标签) 2.1 结构体标签 2.2 json 解析嵌套域 2.3 json 编码时会对指针解引用,使用

module 不要在 vscode 工作区打开工程

旧行为 vs 基于模块的行为 在 GOPATH 之外工作 VSCode 对模块的支持 保存文件时不再自动导入 相关链接 旧行为 vs 基于模块的行为 模块在 Go1.11 开始,因此按照设计旧行为会默认保