当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


GO Value.FieldByIndex用法及代码示例


GO语言"reflect"包中"Value.FieldByIndex"类型的用法及代码示例。

用法:

func(v Value) FieldByIndex(index []int) Value

FieldByIndex 返回索引对应的嵌套字段。如果评估需要单步执行 nil 指针或不是结构的字段,它会出现Panics。

例子:

package main

import (
	"fmt"
	"reflect"
)

func main() {
	// This example shows a case in which the name of a promoted field
	// is hidden by another field: FieldByName will not work, so
	// FieldByIndex must be used instead.
	type user struct {
		firstName string
		lastName  string
	}

	type data struct {
		user
		firstName string
		lastName  string
	}

	u := data{
		user:      user{"Embedded John", "Embedded Doe"},
		firstName: "John",
		lastName:  "Doe",
	}

	s := reflect.ValueOf(u).FieldByIndex([]int{0, 1})
	fmt.Println("embedded last name:", s)

}

输出:

embedded last name: Embedded Doe

相关用法


注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 Value.FieldByIndex。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。