XuLaLa.Tech

首页客户端下载Windows 使用V2Ray 教程SSR 教程Clash 教程

golang逗号模式

2025.04.09

在golang中有一种逗号模式“,ok”,第一个参数是一个值或者nil,第二个参数是true/false或者一个错误error。在一个需要赋值的if条件语句中,使用这种模式去检测第二个参数值会让代码显得优雅简洁。

在函数返回时检测错误

// os.Open(file) strconv.Atoi(str)
value, err := pack1.Func1(param1)
if err != nil {
fmt.Printf(“Error %s in pack1.Func1 with parameter %v”, err.Error(), param1)
return err
}

检测映射中是否存在一个键值

if value, isPresent = map1[key1]; isPresent {
Process(value)
}
// key1不存在
…

检测一个接口类型变量varI是否包含了类型T

if value, ok := varI.(T); ok {
Process(value)
}
// 接口类型varI没有包含类型T

检测一个通道ch是否关闭

 for {
if input, open := <-ch; !open {
break // 通道是关闭的
}
Process(input)
}
© 2010-2022 XuLaLa 保留所有权利 本站由 WordPress 强力驱动
请求次数:69 次,加载用时:0.665 秒,内存占用:32.19 MB