面试题答案
一键面试package main
import (
"fmt"
"reflect"
)
type Person struct {
Name string
age int // 不可导出字段
}
func main() {
p := Person{Name: "John", age: 30}
valueOf := reflect.ValueOf(p)
typeOf := reflect.TypeOf(p)
for i := 0; i < valueOf.NumField(); i++ {
field := valueOf.Field(i)
fieldType := typeOf.Field(i)
fmt.Printf("Field Name: %s\n", fieldType.Name)
fmt.Printf("Field Type: %v\n", field.Type())
fmt.Printf("Is Exported: %t\n", fieldType.IsExported())
fmt.Println()
}
}