Go 如何通过从指针读取类型来创建实例
假设我声明了一个类似于bellow的float类型的变量Go 如何通过从指针读取类型来创建实例,go,Go,假设我声明了一个类似于bellow的float类型的变量 var meters float64 并通过下面的代码获取用户输入和填充该变量 fmt.Scan(&meters) 使用reflect可以让Scan方法知道该指针指向的变量的类型(float64)。但是它在读取用户输入后如何创建float64的实例呢?它不是在创建float64的实例。指令var正在创建变量,从而创建占位符。我们通过stdin输入传递要填充的变量的地址 扫描确定Scan变量的类型并转换输入。这是在文件中的函数s
var meters float64
并通过下面的代码获取用户输入和填充该变量
fmt.Scan(&meters)
使用reflect
可以让Scan
方法知道该指针指向的变量的类型(float64
)。但是它在读取用户输入后如何创建float64
的实例呢?它不是在创建float64
的实例。指令var
正在创建变量,从而创建占位符。我们通过stdin输入传递要填充的变量的地址
扫描确定
Scan
变量的类型并转换输入。这是在文件中的函数scanOne
(第944行)中执行的 查找reflect.New
您可以检查。可以使用reflection,但在上面的示例中不需要。传递的指针指向已分配的值,该值是meters
变量。