Reflection/List properties: Difference between revisions

Add Go example.
(Add Go example.)
Line 44:
 
There may be a list of items, not just the lone <code>X</code> and these proceedings apply to READ statements also.
 
=={{header|Go}}==
<lang Go>package main
 
import (
"fmt"
"image"
"reflect"
)
 
// A type definition
type t struct {
X int
next *t
}
 
func main() {
report(t{})
report(image.Point{})
}
 
func report(x interface{}) {
t := reflect.TypeOf(x)
n := t.NumField()
fmt.Printf("Type %v has %d fields:\n", t, n)
fmt.Println("Name Type Exported")
for i := 0; i < n; i++ {
f := t.Field(i)
fmt.Printf("%-8s %-8v %-8t\n",
f.Name,
f.Type,
f.PkgPath == "",
)
}
fmt.Println()
}</lang>
{{out}}
<pre>
Type main.t has 2 fields:
Name Type Exported
X int true
next *main.t false
 
Type image.Point has 2 fields:
Name Type Exported
X int true
Y int true
</pre>
 
=={{header|Java}}==
Anonymous user