问题: (golang)go中struct取key的值
描述:

一个很简单的问题,之前写python和js没有想过会卡主,就是定义个struct
type B struct {

A string
B string 

}
b := B{}
如何支持b["A"]取到b.A的值呢,求解答谢谢!

解决方案1:

如果想用字符串做key取struct的话,要用reflect 映射,就可以用字符串去获取struct对应的值。b["A"]这种取法只有map可以。

type MyStruct struct {  
    N int  
}  
n := MyStruct{ 1 }  
   
// get  
immutable := reflect.ValueOf(n)  
val := immutable.FieldByName("N").Int()  
fmt.Printf("N=%d\n", val) // prints 1
解决方案2:
b["A"]map

map
结构体