go取结构体里的key
时间: 2024-12-22 17:25:29 浏览: 3
Go语言中结构体方法副本传参与指针传参的区别介绍
在Go语言中,要访问结构体(struct)里的键(key),你可以直接通过变量名加上点`.`操作符或者方括号`[]`来获取。例如,假设有一个名为`Person`的结构体,它有一个字段`Name`:
```go
type Person struct {
Name string
}
// 访问Name字段
var person Person
person.Name = "张三"
fmt.Println(person.Name) // 输出 "张三"
// 或者更简洁地,如果你有一个指向Person的指针
var ptr *Person
ptr = &Person{Name: "李四"}
fmt.Println(ptr.Name) // 输出 "李四"
```
如果你想通过键的形式动态获取值,可以使用`reflect`包,但它通常用于更复杂的反射操作:
```go
package main
import (
"fmt"
"reflect"
)
type Person struct {
Name string
}
func main() {
person := Person{Name: "王五"}
fieldValue := reflect.ValueOf(&person).Elem().FieldByName("Name")
fmt.Println(fieldValue.String()) // 输出 "王五"
}
```
阅读全文