|
|
- package main
-
- import "fmt"
-
- func getData() []interface{} {
-
- return []interface{}{
- 1,
- 3.14,
- "hello",
- true,
- struct{}{},
- }
-
- }
-
- func typeCheck(v interface{}) string {
-
- switch v.(type) {
- case string:
- return "string"
- case bool:
- return "bool"
- case float32, float64:
- return "float"
- case int, int32, int64:
- return "int"
- default:
- return "unknown"
- }
-
- }
-
- func main() {
-
- data := getData()
- for i := 0; i < len(data); i++ {
- fmt.Printf("%v is %v\n", data[i], typeCheck(data[i]))
- }
-
- }
|