登录
首页 >  Golang >  Go问答

有没有像 linux cut 一样工作的 Go 函数?

来源:stackoverflow

时间:2024-04-12 10:24:34 143浏览 收藏

哈喽!今天心血来潮给大家带来了《有没有像 linux cut 一样工作的 Go 函数?》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!

问题内容

这可能是一个非常基本的问题,但在查看 strings 包文档后我无法找到答案。

基本上,我想做的就是相当于:

echo“你好世界”|切-d“”-f2


解决方案


echo "hello world" | cut -d" " -f2

这使用空格作为分隔符来分割字符串 "hello world",并仅选择第二部分(1 索引)。

在 go 中,有 strings.Split() 返回一个切片,您可以根据需要对其进行索引或切片。

s := "hello world"

fmt.Println(strings.Split(s, " ")[1])

这输出相同。在 Go Playground 上尝试一下。如果不能保证输入有 2 个部分,则上述索引 ([1]) 可能会出现问题。在这样做之前检查切片的长度。

strings.Split() 函数可以在指定的子字符串处分割字符串。

还有函数 Fields(s string) []stringFieldsFunc(s string, f func(rune) bool) []string

前者以空格分割字符串,后者使用给定的函数来确定是否必须分割字符串。

splitfields 之间的区别在于 fields 将多个连续空格视为一个分割位置。 strings.fields(" foo bar baz ")) 生成 ["foo" "bar" "baz"],并且 strings.split(" foo bar baz ", " ") 生成 ["" "" " foo" "bar" "" "baz" "" "" ""]

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>