func UpFirstLetter(v ...interface{}) string {
s := v[0].(string)
return strings.ToUpper(s[0:1]) + s[1:]
}
func UpFirstLetter(v ...interface{}) string {
s, _ := v[0].(string)
return strings.ToUpper(s[0:1]) + s[1:]
}
区别在断言成功的判断上,有没有那个“_”都可以吗?
区别在于:第一个在断言失败时会 panic;而第二个,你忽略了错误,所以你会得到默认值。
实际效果就是:第一个出问题的时候会崩掉;而第二个出问题的时候,你需要彻夜 debug,来弄明白为什么你的数据坏掉了。