作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有一个由多个相同类型的字段组成的结构。
type test struct{
A int
B int
C int
}
我想对这三个字段应用一个函数来做同样的事情,但我每次只想在一个字段上做。
function something (toto test, cond int) {
if (cond == 1){
// then we will use A for the rest of the function
}else if (cond == 2) {
// then we use B etc....
} ...
for mail, v := range bdd {
if _, ok := someMap[v.A]; !ok { // use v.A or V.B or V.C
delete(bdd, mail)
}
...
}
...
}
这个函数真的很长,让我感到困扰的是仅仅为了改变的一行就将代码复制了 3 次。我尝试了反射包。我认为参与其中是一个危险的想法。
最佳答案
在您的情况下,我会使用 map 而不是 struct,但如果确实需要 struct,您可以使用 reflect 包。
v := reflect.ValueOf(x)
for i := 0; i < v.NumField(); i++ {
fmt.Printf("%v", v.Field(i).Interface())
}
关于go - 如何从结构中指定我们想要使用的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53448467/
使用登录后,我想吐出用户名。 但是,当我尝试单击登录按钮时, 它给了我力量。 我看着logcat,但是什么也没显示。 这种编码是在说。 它将根据我在登录屏幕中输入的名称来烘烤用户名。 不会有任何密码。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我是一名优秀的程序员,十分优秀!