3 回答
TA贡献1799条经验 获得超8个赞
如果您的函数仅通过第一次出现分隔符来拆分字符串,则您始终可以创建自己的函数:
package main
import (
"fmt"
"strings"
)
func Split(s, sep string) (string, string) {
// Empty string should just return empty
if len(s) == 0 {
return s, s
}
slice := strings.SplitN(s, sep, 2)
// Incase no separator was present
if len(slice) == 1 {
return slice[0], ""
}
return slice[0], slice[1]
}
func main() {
a, b := Split("foo;bar;foo", ";")
fmt.Println(a, b)
}
输出:
foo 酒吧; foo
TA贡献1818条经验 获得超11个赞
您还可以使用匿名函数:
a, b := func() (string, string) {
x := strings.Split("foo;bar", ";")
return x[0], x[1]
}()
注意:不要忘记()右括号末尾的 ,}否则会出现错误:
assignment mismatch: 2 variable but 1 values
这是因为没有()函数(1 个值)返回的不是预期的字符串(2 个值)。
- 3 回答
- 0 关注
- 197 浏览
添加回答
举报