如何在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"]。