我想像在C#中那样获得字段的字符串名称:
if (x == null)
throw new ArgumentNullException(nameof(x));
在GO中,我有以下内容:
package main
type Test struct{
X int
Y string
}
func main() {
fmt.Println(nameof(Test.X))
}
如何实现nameof
功能?
答案 0 :(得分:3)
如何实现nameof func?
你不能。
幸运的是您不需要。编写代码时,您会知道名称,并且可以像OptionalInt i = IntStream.rangeClosed(1,5)
.filter(x-> x == 7)
.findFirst();
System.out.print(i.getAsInt());
一样快速键入字符串文字。
(好的,从技术上讲,您可以通过检查当前函数来查找调试符号,但这很复杂,并且可能不可移植,并且取决于所使用的编译器版本。因此:甚至不要尝试。)