我试图取一个数组并将其拆分为一个字符串数组,这是我的代码:
if split != "" {
for i := 0; i < len(split); i++ {
for j := 0; j < len(split); j += 0 {
splits := []byte(split)
if splits[i] == ' ' {
result := split[i] - split[j]
for k := 0; k <= i; k++ {
fitting := make([]byte, result)
fitting[k] = splits[k]
fmt.Println(fitting[k])
if k > i-1 {
fittings := string(fitting[:])
word := []string{}
words := append(word, fittings)
fmt.Println(split, words)
}
}
}
}
}
}
return Strings(split)
这是我的测试用例:
fmt.Println(actual, expected)
for i := 0; i < len(expected); i++ {
if actual[i] != expected[i] {
t.Errorf("does not match")
t.Fail()
}
}
}
它们都没有真正起作用。
我只需要知道我怎么可能拿一个字符串如“hi li le”并将其变成一个字符串数组,如[“hi”,“li”,“le”]
是的strings.Split
或strings.Fields
。
for _, word := range strings.Fields("hi li le") {
fmt.Println(word)
}
这是一种手动操作的方法,用于说明。
func split(tosplit string, sep rune) []string {
var fields []string
last := 0
for i,c := range tosplit {
if c == sep {
// Found the separator, append a slice
fields = append(fields, string(tosplit[last:i]))
last = i + 1
}
}
// Don't forget the last field
fields = append(fields, string(tosplit[last:]))
return fields
}
func main() {
str := "hello world stuff"
for _,field := range split(str, ' ') {
fmt.Println(field)
}
}