将buf
拆分为两个切片。
一个是
buf[:n]
其他是
buf[n:].
n
可能大于len(buf)
。
只需使用一行代码即可完成。
有恩典代码吗?
答案 0 :(得分:0)
这不优雅,也不实用,但评估是在一条线上......
package main
import (
"fmt"
)
func main() {
buf := "abcdefg"
n := 8
// fugly one-liner
a, b, err := func() (string, string, error) {if n > len(buf) {return "", "", fmt.Errorf("out of bounds")} else {return buf[:n], buf[n:], nil}}()
if err != nil {
fmt.Println(err.Error())
} else {
fmt.Print(a + ":" + b)
}
}