value, err := pack1.Func1(param1)
if err != nil {
fmt.Printf("Error %s in pack1.Func1 with parameter %v", err.Error(), param1)
return err
}
// 函数Func1没有错误:
Process(value)
e.g.: os.Open(file) strconv.Atoi(str)
func SomeFunc() error {
…
if value, err := pack1.Func1(param1); err != nil {
…
return err
}
…
return nil
}
if value, isPresent = map1[key1]; isPresent {
Process(value)
}
// key1 不存在
…
if value, ok := varI.(T); ok {
Process(value)
}
// 接口类型 varI 没有包含类型 T
for input := range ch {
Process(input)
}
for {
if input, open := <-ch; !open {
break // 通道是关闭的
}
Process(input)
}