1 Star 0 Fork 0

Jiang/go_program_lang_learn

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
slice.go 816 Bytes
一键复制 编辑 原始数据 按行查看 历史
Jiang 提交于 2024-11-19 16:03 +08:00 . 完成函数
package main
import "fmt"
//func main() {
// fmt.Print("123")
// appendTest()
// x := []int{1, 2, 3}
// appendIndex(x, 4)
//}
func appendTest() {
var runes []rune
for _, r := range "Hello world" {
runes = append(runes, r)
}
fmt.Printf("%q\n", runes)
}
func appendIndex(x []int, y int) []int {
var z []int
zlen := len(x) + 1 //因为要添加一个int
fmt.Println(len(x))
fmt.Println(cap(x))
fmt.Println(zlen)
if zlen <= cap(x) {
z = x[:zlen]
} else {
zcap := zlen
if zcap < 2*len(x) {
zcap = 2 * len(x)
}
fmt.Printf("2*len is cap=%d\n", zcap)
fmt.Printf("2*len is zlen=%d\n", zlen)
z = make([]int, zlen, zcap)
copy(z, x) //将 x []int 中原始的数据复制到 z []int中去
}
z[len(x)] = y //将新append的元素添加到位置为len(x)处
return z //返回 []int
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/jiang_imer/go_program_lang_learn.git
git@gitee.com:jiang_imer/go_program_lang_learn.git
jiang_imer
go_program_lang_learn
go_program_lang_learn
77bb2af9905f

搜索帮助