প্রতিবিম্ব প্যাকেজ ব্যবহার করুন :
প্যাকেজ প্রতিফলিত প্রয়োগ রান-টাইম প্রতিবিম্ব, একটি প্রোগ্রামকে নির্বিচারে ধরণের সঙ্গে অবজেক্টগুলি ম্যানিপুলেট করার অনুমতি দেয়। সাধারণ ব্যবহারটি হ'ল স্ট্যাটিক টাইপ ইন্টারফেস with with এর সাথে একটি মান নেওয়া এবং টাইপঅফকে কল করে তার গতিশীল প্রকারের তথ্য আহরণ করা, যা কোনও প্রকার ফেরত দেয়।
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
খেলার মাঠ