可以使用模板按名称访问struct变量。在Go语言中,可以使用反射来实现这个功能。 首先,需要导入reflect包,然后使用reflect.ValueOf()函数获取struct变量的反射值,接着使用FieldByName()方法根据名称获取struct中的字段,最后使用Interface()方法将字段的反射值转换为接口类型。 以下是一个示例代码: 代码语言:go 复制 packagem...
void f(my_struct* s, int new_value) \ { \ s->which = new_value; \ } 然后我可以调用FUNC(a)或FUNC(b)。 这可行,但我不喜欢使用宏。 所以我的问题是:有没有办法使用模板而不是宏来实现相同的目标? 编辑:我将尝试解释为什么我不能使用指针,我需要按名称访问变量。 基本上该结构包含系统的状态。...