如何打印变量名称而不是分配给变量的值?

Iwu*_*ndu 3 variables go

我有一个值分配给一个变量。如何打印变量的名称而不是分配给变量的值?我知道我可以将变量名硬编码到 Printf 函数中,但我不想使用它。如果类似的东西在 Go 中有效,我想使用格式化程序。

例子

user := "Jada"
fmt.Println(user)
Run Code Online (Sandbox Code Playgroud)

上面将打印分配给变量的值,即“Jada”。

有没有办法让它打印变量名、用户而不是变量值?

icz*_*cza 5

当您将值传递给函数时,变量名称不会传递给它,因此无法打印变量的名称。甚至无法获取参数名称,详细信息请参阅获取方法参数名称

您可以做的最接近的是使用结构作为参数类型,并且您可以获取并打印字段的名称(使用反射)。或者使用映射,并将变量名称作为键传递。