![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Go
hytMay
这个作者很懒,什么都没留下…
展开
-
Go资源管理与出错处理
defer 调用 确保调用在函数结束时发生 参数在defer语句时计算 defer列表为后进先出 何时使用defer调用 Open/Close Lock/Unlock PrintHeader/PrintFooter 如何统一处理err panic 停止当前函数执行 一直向上返回,执行每一层的defer 如果没有遇到recover,程序退出 recover 仅在defer调用中使用 获...原创 2020-03-15 12:18:27 · 362 阅读 · 0 评论 -
GO:select 使用
select select 使用 定时器使用 在select中使用Nil Channel package main import ( "fmt" "time" "math/rand" ) func generator() chan int { out := make(chan int) go func() { i := 0 for { time.Sleep( ...原创 2020-03-10 11:47:05 · 156 阅读 · 0 评论 -
Go:Goroutine 和 Channel
协程 Coroutine 轻量级 “线程” 非抢占式多任务处理,由协程主动交出控制权 编译器、解释器、虚拟机层面的多任务 多个协程可能在一个或多个线程上运行 非抢占式任务处理实例 package main import ( "fmt" "time" ) func main() { for i:= 0; i < 10; i++ { go func(i int) { fo...原创 2020-03-08 22:59:22 · 127 阅读 · 0 评论 -
Go 函数式编程
函数式编程 vs 函数指针 函数是一等公民:参数、变量,返回值都可以是函数 高阶函数 函数->闭包 “正统”函数编程 不可变性:不能有状态,只有常量和函数 函数只能有一个参数 闭包 package main import "fmt" func adder() func (int) int { sum := 0 return func (v int) int { sum ...原创 2020-03-08 15:22:15 · 131 阅读 · 0 评论 -
Go:面向接口
接口 type Traversal interface { Traverse() } func main() { traversal := getTraversal() traversal .Traverse() } 接口的概念 强类型语言:熟悉接口概念 弱类型语言:没(少)有接口的概念 接口的详细:使用Google Guice实现依赖注入 duck tying 大黄鸭是鸭子吗? ...原创 2020-03-08 11:40:10 · 132 阅读 · 0 评论 -
Go:面向对象
结构和方法 go 语言仅支持封装,不支持继承和多态 go语言没有class,只有struct 结构定义 typedef TreeNode struct { value int left,right *treeNode } 结构的创建 无论地址还是结构本身,一律用.来访问成员 root := TreeNode{value:3} root.left = &TreeNode{} ...原创 2020-03-07 14:33:57 · 95 阅读 · 0 评论 -
Go接口学习
强类型语言:熟悉接口概念 弱类型语言:没(少)有接口概念 接口的详细讲解:使用Google Guice实现依赖注入 curl https://www.imooc.com duck typing -“像鸭子走路,像鸭子叫(长得像鸭子),那就是鸭子” -描述事物的外部行为而非内部结构 -严格说go属于结构化类型系统,类似duck typing 接口的定义 -接口由使用者定义 接口变量里有什...原创 2020-02-29 23:15:32 · 120 阅读 · 1 评论 -
go mod、govendor
在Go中名字一般用CamelCase 首字母大写:public 首字母小写:private 包 每个目录一个包 main包包含可执行入口 为结构定义得方法必须放在同一个包内 可以时不同得文件 如何扩充系统类型或者别人得类型 定义别名 使用组合 使用内嵌来扩展已有类型 Go语言的依赖管理 依赖的概念 依赖第三方的库 依赖管理的三个阶段 GOPATH, GOVENDOR, go mo...原创 2020-02-28 22:30:43 · 435 阅读 · 0 评论