golang 遍历struct
在 Golang 中,可以使用反射和循环来遍历结构体的字段。下面是一个示例:
package main
import (
"fmt"
"reflect"
)
type Person struct {
Name string
Age int
Gender string
}
func main() {
p := Person{
Name: "Alice",
Age: 25,
Gender: "female",
}
v := reflect.ValueOf(p)
t := v.Type()
for i := 0; i < v.NumField(); i++ {
field := v.Field(i)
fieldName := t.Field(i).Name
fieldType := field.Type()
fmt.Printf("%s: %v (%s)\n", fieldName, field.Interface(), fieldType)
}
}
输出结果:
Name: Alice (string)
Age: 25 (int)
Gender: female (string)
这个例子中,我们定义了一个 Person 结构体,并创建了一个 Person 类型的实例 p。然后使用反射获得 p 的值和类型。通过循环遍历结构体的字段,可以获取字段名、字段值和字段类型,并打印出来
原文地址: http://www.cveoy.top/t/topic/iYNU 著作权归作者所有。请勿转载和采集!