使用反射机制获取结构体的属性并广播。示例如下:
type User struct {
Name string
Age int
}
func main() {
user := User{Name: "Jack", Age: 20}
broadcast(user)
}
func broadcast(data interface{}) {
value := reflect.ValueOf(data)
for i := 0; i < value.NumField(); i++ {
field := value.Field(i)
fmt.Println(field.Interface())
}
}
上述代码中,broadcast函数接收一个未知类型的参数,并使用反射机制获取该参数的属性并广播出去。在示例中,我们创建了一个User结构体实例并传递给broadcast函数进行广播。广播函数通过反射获取User结构体的属性,即Name和Age,并将其打印输出。这样即可在不知道结构体属性信息的情况下进行广播。