我正在尝试将切片[1, 2]和切片组合在一起[3, 4].我怎么能在Go中这样做?
我试过了:
append([]int{1,2}, []int{3,4})
Run Code Online (Sandbox Code Playgroud)
但得到了:
cannot use []int literal (type []int) as type int in append
Run Code Online (Sandbox Code Playgroud)
但是,文档似乎表明这是可能的,我错过了什么?
slice = append(slice, anotherSlice...)
Run Code Online (Sandbox Code Playgroud) 有人可以解释为什么我转换相同,当有不同容量string的[]rune?
看看这个代码
package main
import (
"fmt"
)
func main() {
input := "??"
runes := []rune(input)
fmt.Printf("len %d\n", len(input))
fmt.Printf("len %d\n", len(runes))
fmt.Printf("cap %d\n", cap(runes))
fmt.Println(runes[:3])
}
Run Code Online (Sandbox Code Playgroud)
哪个返回
len 6
len 2
cap 2
panic: runtime error: slice bounds out of range [:3] with capacity 2
Run Code Online (Sandbox Code Playgroud)
但是当评论fmt.Println(runes[:3])它返回时:
len 6
len 2
cap 32
Run Code Online (Sandbox Code Playgroud)
看看 [] 符文容量如何从 2 变为 32。如何?为什么 ?
如果你想测试 =>去游乐场