- ½ñÌì¿´the-way-to-go£¬¹ØÓÚ·´É丳ֵʱºòÒ»¸öÒÉÎÊ£¨11.10.2Õ½ڣ©
- ´úÂëÈçÏÂ
package main import ( "fmt" "reflect" ) func main() { var x float64 = 3.14 v := reflect.ValueOf(x) fmt.Println("settability of v:", v.CanSet()) fmt.Println("v.type:", v.Type()) //ÕâÒ»ÐÐÊä³öv.type: float64 v = reflect.ValueOf(&x) fmt.Println("type of v:", v.Type()) //ÕâÒ»ÐÐÊä³ötype of v: *float64 fmt.Println("settability of v:", v.CanSet()) v = v.Elem() fmt.Println("the elem of v is:", v) fmt.Println("settability of v:", v.CanSet()) v.SetFloat(3.1415) fmt.Println(v.Interface()) fmt.Println(v) }
ÆäÖÐ v := reflect.ValueOf(x) ÖÐvµÄÀàÐÍÊÇfloat64£¬ÎªºÎÔÚv = reflect.ValueOf(&x)Ö®ºóvµÄÀàÐÍÊÇ*float64ºó»¹ÄÜÓÃ=¸³Öµ£¬ÕâÑùǰºóÀàÐͲ»Ò»ÑùΪʲô²»»á³ö´í?