mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-12 01:21:38 +08:00
fix: coding style and file format for all example.
This commit is contained in:
@@ -1,33 +1,34 @@
|
||||
// reflect2.go
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"reflect"
|
||||
)
|
||||
|
||||
func main() {
|
||||
var x float64 = 3.4
|
||||
v := reflect.ValueOf(x)
|
||||
// setting a value:
|
||||
// v.SetFloat(3.1415) // Error: will panic: reflect.Value.SetFloat using unaddressable value
|
||||
fmt.Println("settability of v:", v.CanSet())
|
||||
v = reflect.ValueOf(&x) // Note: take the address of x.
|
||||
fmt.Println("type of v:", v.Type())
|
||||
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) // this works!
|
||||
fmt.Println(v.Interface())
|
||||
fmt.Println(v)
|
||||
}
|
||||
/* Output:
|
||||
settability of v: false
|
||||
type of v: *float64
|
||||
settability of v: false
|
||||
The Elem of v is: <float64 Value>
|
||||
settability of v: true
|
||||
3.1415
|
||||
<float64 Value>
|
||||
*/
|
||||
// reflect2.go
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"reflect"
|
||||
)
|
||||
|
||||
func main() {
|
||||
var x float64 = 3.4
|
||||
v := reflect.ValueOf(x)
|
||||
// setting a value:
|
||||
// v.SetFloat(3.1415) // Error: will panic: reflect.Value.SetFloat using unaddressable value
|
||||
fmt.Println("settability of v:", v.CanSet())
|
||||
v = reflect.ValueOf(&x) // Note: take the address of x.
|
||||
fmt.Println("type of v:", v.Type())
|
||||
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) // this works!
|
||||
fmt.Println(v.Interface())
|
||||
fmt.Println(v)
|
||||
}
|
||||
|
||||
/* Output:
|
||||
settability of v: false
|
||||
type of v: *float64
|
||||
settability of v: false
|
||||
The Elem of v is: <float64 Value>
|
||||
settability of v: true
|
||||
3.1415
|
||||
<float64 Value>
|
||||
*/
|
||||
|
Reference in New Issue
Block a user