摘要: 1.声明为map[string]struct{} 由于struct{}是空,不关心内容,这样map便改造为set map可以通过“comma ok”机制来获取该key是否存在,例如_, ok := map["key"],如果没有对应的值,ok为false 可以通过定义成map[string]stru 阅读全文
posted @ 2021-08-30 15:20 人艰不拆_zmc 阅读(535) 评论(0) 推荐(0) 编辑
摘要: Go 语言中延迟函数 defer 充当着 try...catch 的重任,使用起来也非常简便,然而在实际应用中,很多 gopher 并没有真正搞明白 defer、return、返回值、panic 之间的执行顺序,从而掉进坑中,今天我们就来揭开它的神秘面纱! 先来运行下面两段代码: A. 匿名返回值的 阅读全文
posted @ 2021-08-30 14:56 人艰不拆_zmc 阅读(674) 评论(0) 推荐(0) 编辑
摘要: 1、通过range遍历channel内容 package main import ( "fmt" ) func main() { ch := make(chan int) //创建一个无缓存channel //新建一个goroutine go func() { for i := 0; i < 5; 阅读全文
posted @ 2021-08-30 14:46 人艰不拆_zmc 阅读(657) 评论(0) 推荐(0) 编辑
摘要: 1、recover 概述 在 Go 语言中,recover() 函数用于从 panic 中恢复程序的控制流。recover() 通常用于防止程序在遇到 panic 时立即终止,而是允许程序执行一些清理操作或继续执行。具体来说,recover() 有以下作用: 捕获 panic: 当 recover( 阅读全文
posted @ 2021-08-30 14:39 人艰不拆_zmc 阅读(689) 评论(0) 推荐(0) 编辑