Go语言通过类型信息创建实例
2年前 (2024-04-27)
当已知 reflect.Type 时,可以动态地创建这个类型的实例,实例的类型为指针。例如 reflect.Type 的类型为 int 时,创建 int 的指针,即
*int,代码如下:package main
import (
"fmt"
"reflect"
)
func main() {
var a int
// 取变量a的反射类型对象
typeOfA := reflect.TypeOf(a)
// 根据反射类型对象创建类型实例
aIns := reflect.New(typeOfA)
// 输出Value的类型和种类
fmt.Println(aIns.Type(), aIns.Kind())
}
代码输出如下:
*int ptr
代码说明如下:
第 13 行,获取变量 a 的反射类型对象。
第 16 行,使用 reflect.New() 函数传入变量 a 的反射类型对象,创建这个类型的实例值,值以 reflect.Value 类型返回。这步操作等效于:new(int),因此返回的是 *int 类型的实例。
第 19 行,打印 aIns 的类型为 *int,种类为指针。
- 随机文章
- 我 马尔代夫 照片(美丽马尔代夫:一组壮观的照片展现天堂之岛)
- 马尔代夫首都酒店(马尔代夫首都有家全新的豪华酒店!)
- 台湾东部马尔代夫(台湾东部小岛打造马尔代夫式度假胜地)
- 国足 马尔代夫 2001(国足争取胜利,马尔代夫迎来2001再战)
- 马尔代夫风格照片(用照片带你穿越感受马尔代夫的风情)
- 新疆马尔代夫在哪(新疆特色小镇“马尔代夫”受游客热捧)
- 新堤 马尔代夫(新堤岛:马尔代夫的度假胜地)
- 出国劳务马尔代夫(马尔代夫出国劳务市场需求大,机会多)
- 真实马尔代夫图片(火热马尔代夫!真实图片展现美丽海岛 paradise on earth)
- 日本旅游马尔代夫(日本游客最喜欢的度假胜地:马尔代夫)
- 女孩马尔代夫遇难(女孩在马尔代夫溺亡,家人和朋友心碎)
- 广州 马尔代夫(广州出发 飞往美丽的马尔代夫)
- 比亚迪马尔代夫车(比亚迪首次向马尔代夫出口纯电动汽车)
- 清远佛冈马尔代夫(清远佛冈旅行社推出马尔代夫度假产品)
- 最浪漫的马尔代夫(在天堂般的马尔代夫度过最浪漫的时光)
- 夜钓 马尔代夫(马尔代夫夜晚的垂钓体验)
- 酷航 马尔代夫(酷航全新开航,带你畅游马尔代夫)
- 湖南马尔代夫代理(湖南旅行代理:享受超值马尔代夫之旅)
- 海南博鳌马尔代夫(海南博鳌与马尔代夫合作迈向深度交流)
- 英德马尔代夫酒店(重建瑕疵酒店:马尔代夫酒店焕然一新)
- 西安马尔代夫儿童(西安儿童度假村打造类似马尔代夫体验)
- 西班牙和马尔代夫(西班牙和马尔代夫的旅游业正在恢复中)
- 姚笛 马尔代夫(姚笛在马尔代夫度假遭遇不幸)
- 哈山 马尔代夫(哈山岛:深度体验马尔代夫美妙风光)
- 韩国马尔代夫蜜月(韩国新婚夫妇选择前往马尔代夫度蜜月)
- 航拍芜湖马尔代夫(从空中俯瞰,芜湖一湖泊变身马尔代夫)
- 盱眙 马尔代夫(盱眙县:马尔代夫爱好者的天堂)
- 马尔代夫不去岛上(马尔代夫游客新选择:沙滩露营体验!)
- 马尔代夫主题房间(马尔代夫主题房间:体验热带度假天堂)
- 马尔代夫专业代理(马尔代夫旅游专家提供专业代订服务!)
