Skip to content

Day 14 - 反射

reflect包

go
import "reflect"

func inspect(v interface{}) {
    t := reflect.TypeOf(v)
    v := reflect.ValueOf(v)
    fmt.Println(t, v)
}

修改值

go
x := 1
v := reflect.ValueOf(&x)
v.Elem().SetInt(2)

结构体字段

go
type User struct {
    Name string
}

u := User{Name: "Tom"}
t := reflect.TypeOf(u)
for i := 0; i < t.NumField(); i++ {
    f := t.Field(i)
    fmt.Println(f.Name, f.Type)
}

📅 学习进度

Day主题状态
01-13基础
14反射
15Context

本文为Go 30天学习计划第14天内容

📚 导航

| ← Day 13 - 上一章 | Day 15 - 下一章 →

最后更新: