Go 如何通过从指针读取类型来创建实例

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

假设我声明了一个类似于bellow的float类型的变量

var meters float64
并通过下面的代码获取用户输入和填充该变量

fmt.Scan(&meters)
使用
reflect
可以让
Scan
方法知道该指针指向的变量的类型(
float64
)。但是它在读取用户输入后如何创建
float64
的实例呢?

它不是在创建
float64
的实例。指令
var
正在创建变量,从而创建占位符。我们通过stdin输入传递要填充的变量的地址


扫描确定
Scan
变量的类型并转换输入。这是在文件中的函数
scanOne
(第944行)中执行的

查找
reflect.New
您可以检查。可以使用reflection,但在上面的示例中不需要。传递的指针指向已分配的值,该值是
meters
变量。