Avatar ·

如何在Go中按空格分割字符串?

大家好!我刚开始学习Go,遇到了一个问题。需要将字符串分割成单词,忽略所有空白字符(空格、制表符、换行符)。 我尝试过使用 `strings.Split()`,但它只适用于单个分隔符。例如,如果我写: ```go package main import ( "fmt" "strings" ) func main() { s := "hello world\tfoo\nbar" parts := strings.Split(s, " ") fmt.Println(parts) // ["hello", "", "", "world\tfoo\nbar"] } ``` 结果很混乱——有空字符串,制表符没有被处理。 我看到在其他语言(Python、Java)中有内置的 `split()` 方法,不带参数时能自动处理任何空白字符。Go中有类似的东西吗?还是需要自己写函数?我听说可以通过 `regexp` 实现,但担心这会降低程序速度。请推荐最佳方法。 重要:我确实需要分割成单词,而不仅仅是删除多余空格。示例:"a b\tc" → ["a", "b", "c"]。