首次提交:初始化项目代码

This commit is contained in:
sunct
2026-07-31 15:18:32 +08:00
commit d6393266b0
193 changed files with 14287 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
package main
import "fmt"
func main() {
// 切片创建
s1 := []int{1, 2, 3} // 直接初始化
s2 := make([]int, 3, 5) // make创建,长度3,容量5
s3 := make([]int, 3) // 容量默认等于长度
fmt.Printf("s1: %v, len=%d, cap=%d\n", s1, len(s1), cap(s1)) // [1 2 3] 3 3
fmt.Printf("s2: %v, len=%d, cap=%d\n", s2, len(s2), cap(s2)) // [0 0 0] 3 5
fmt.Printf("s3: %v, len=%d, cap=%d\n", s3, len(s3), cap(s3)) // [0 0 0] 3 3
// 切片操作
s4 := s1[1:3] // 切片表达式,从索引1到3(不包含3)
fmt.Println("s4:", s4) // [2 3]
// 修改切片元素(影响底层数组)
s4[0] = 20
fmt.Println("修改后s1:", s1) // [1 20 3]
fmt.Println("修改后s4:", s4) // [20 3]
// 切片追加元素
s2 = append(s2, 400) // len=4 == cap=5 → 不扩容
fmt.Printf("添加400后s2: %v, len=%d, cap=%d\n", s2, len(s2), cap(s2)) // [0 0 0 400] 4 5
s2 = append(s2, 500) // len=5 == cap=5 → 不扩容
fmt.Printf("添加500后s2: %v, len=%d, cap=%d\n", s2, len(s2), cap(s2)) // [0 0 0 400 500] 5 5
s2 = append(s2, 600) // len=6 > cap=5 → 扩容(容量变为10)
fmt.Printf("添加600后s2: %v, len=%d, cap=%d\n", s2, len(s2), cap(s2)) // [0 0 0 400 500 600] 6 10
// 复制切片
dst := make([]int, 2)
src := []int{10, 20, 30}
copied := copy(dst, src) // 复制2个元素(取len(dst)和len(src)的最小值)
fmt.Printf("复制后dst: %v, 复制数量: %d\n", dst, copied) // [10 20] 2
}