在 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 的值和类型。通过循环遍历结构体的字段,可以获取字段名、字段值和字段类型,并打印出来

golang 遍历struct

原文地址: http://www.cveoy.top/t/topic/iYNU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录