stringsSplit
为了验证,分别在1.0.1、1.1、1.2.2、1.3.3、1.4rc上面进行了测试,验证了上面的结论是正确的。
func main() {
a := strings.Split("", ";")
fmt.Printf("%d****%s****\n", len(a), a[0])
}
这个也很好理解。切割一个空字符串,肯定是没办法切的,那么结果就是没切开,把原字符串直接加入结果数组里面而已。只不过一开始有点难理解,因为我们都会认为如果是空字符串去切,结果数组里应该是空的。
Controller.GetIntint64intint64Controller.GetInt64Controller.GetInt
beego.AppConfig.Stringsbeego/config.go
func (b *beegoAppConfig) Strings(key string) []string {
v := b.innerConfig.Strings(RunMode + "::" + key)
if len(v) == 0 {
return b.innerConfig.Strings(key)
}
return v
}
runmodedevproddefaultrunmoderunmodeiflen(v) == 0ini.go
func (c *IniConfigContainer) Strings(key string) []string {
return strings.Split(c.String(key), ";")
}
iffalseif v[0] == ""
24号谢大合并了我的代码,开心开心开心。
本文所涉及到的完整源码请参考。
有疑问加站长微信联系(非本文作者)