17.1 逗号 ok 模式

    (1)在函数返回时检测错误(参考):

    这段代码中的函数将错误返回给它的调用者,当函数执行成功时,返回的错误是nil,所以使用这种写法:

    1. func SomeFunc() error {
    2. if value, err := pack1.Func1(param1); err != nil {
    3. }
    4. return nil
    5. }

    要实现简洁的错误检测代码,更好的方式是使用闭包,参考第16.10.2小节

    (2)检测映射中是否存在一个键值(参考):key1在映射map1中是否有值?

    1. Process(value)
    2. }
    3. // 接口类型varI没有包含类型T

    (4)检测一个通道ch是否关闭(参考第14.3小节):

    或者:

    1. for {
    2. break // 通道是关闭的
    3. }
    4. Process(input)
    5. }