Categories: GO编程

golang逗号模式

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)
    }
5.0
03
golang sort底层排序
golang内存逃逸
嘻嘻

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Recent Posts

Clockwise一款AI日历工具

Clockwise是一款创新的…

1天 ago

Leonardo一个视觉创意AI生成平台

Leonardo.ai提供了一…

1天 ago

DupDub一款终极AI内容创作助手

DupDub 是一个一站式内容…

1天 ago

Murf AI是一款尖端的AI声音生成器

Murf AI是一款尖端的AI…

1天 ago