21 lines
637 B
Go
21 lines
637 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"reflect"
|
|
)
|
|
|
|
func main() {
|
|
// make 创建切片(直接可用)
|
|
sMake := make([]int, 2)
|
|
sMake[0] = 100 // 合法操作
|
|
fmt.Printf("sMake: 类型=%s, 内容=%v\n", reflect.TypeOf(sMake), sMake) // sMake: 类型=[]int, 内容=[100 0]
|
|
|
|
// new 创建切片指针(需手动初始化)
|
|
sNew := new([]int)
|
|
// (*sNew)[0] = 100 // 运行时 panic(未初始化底层数组)
|
|
*sNew = make([]int, 2) // 手动初始化
|
|
(*sNew)[0] = 100
|
|
fmt.Printf("sNew: 类型=%s, 内容=%v\n", reflect.TypeOf(sNew), *sNew) // sNew: 类型=*[]int, 内容=[100 0]
|
|
}
|