当您想要使用不同语言的特定定界符拆分字符串时,这里有一些片段:
# python
s = 'a,b,c,d,e'
tokens = s.split(',')
// javascript
let s = 'a,b,c,d,e'
let tokens = s.split(',')
// go
s := "a,b,c,d,e"
tokens := strings.Split(s, ",")
可以看到,split在Python和Javascript中是string类型的成员函数,在Go中不是。我想知道为什么,它看起来像 CPP 中的 STL,为什么操作类型实例的函数不是该类型的成员函数,在 Go 中实现它们似乎很容易,例如:
// go
func (s *string) Split(d string) []string {
// here goes the code to split s with d given
}
这样设计的原因是什么?
慕神8447489
相关分类