赞
踩
package main import ( "fmt" "reflect" ) func reflectTest(a interface{}) { //1.通过反射获取传入变量的type //先获取reflect.Type rTyp := reflect.TypeOf(a) fmt.Println("rTyp = ", rTyp) //2.获取到reflect.value rVal := reflect.ValueOf(a) fmt.Printf("rVal = %v, type = %T\n", rVal, rVal) val := rVal.Int() fmt.Printf("Val = %v, type = %T\n", val, val) //将rVal转成interface iv := rVal.Interface() //将interface{}通过断言进行转换 num := iv.(int) fmt.Printf("num = %v, num = %T\n", num, num) } func main() { num := 12 reflectTest(num) }
# 二者等价
# 1.先声明一个1024容量数组,
bs := [1024]byte{} //申明一个数组,容量1024
data := bs[:] //切片--容量1024
# 2.直接申明一个1024容量数组并make后使用
data := make([]byte, 1024) // 切片--容量1024
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。