प्रतिबिंबित पैकेज का उपयोग करें :
पैकेज रन-टाइम प्रतिबिंब को प्रतिबिंबित करता है, जिससे प्रोग्राम को मनमाने प्रकार के साथ ऑब्जेक्ट्स में हेरफेर करने की अनुमति मिलती है। विशिष्ट उपयोग स्थैतिक प्रकार के इंटरफ़ेस {} के साथ एक मान लेने के लिए और TypeOf पर कॉल करके इसकी गतिशील प्रकार की जानकारी निकालने के लिए है, जो एक प्रकार देता है।
package main
import (
"fmt"
"reflect"
)
func main() {
b := true
s := ""
n := 1
f := 1.0
a := []string{"foo", "bar", "baz"}
fmt.Println(reflect.TypeOf(b))
fmt.Println(reflect.TypeOf(s))
fmt.Println(reflect.TypeOf(n))
fmt.Println(reflect.TypeOf(f))
fmt.Println(reflect.TypeOf(a))
}
पैदा करता है:
bool
string
int
float64
[]string
खेल का मैदान
उदाहरण का उपयोग कर ValueOf(i interface{}).Kind()
:
package main
import (
"fmt"
"reflect"
)
func main() {
b := true
s := ""
n := 1
f := 1.0
a := []string{"foo", "bar", "baz"}
fmt.Println(reflect.ValueOf(b).Kind())
fmt.Println(reflect.ValueOf(s).Kind())
fmt.Println(reflect.ValueOf(n).Kind())
fmt.Println(reflect.ValueOf(f).Kind())
fmt.Println(reflect.ValueOf(a).Index(0).Kind()) // For slices and strings
}
पैदा करता है:
bool
string
int
float64
string
खेल का मैदान