使用“switch 变量.(type)”获取变量数据类型

package main

import "fmt"

func GetType(variable any) (t string) {
   switch variable.(type) {
   case int:
      t = "int"
   case string:
      t = "string"
   case float64:
      t = "float64"
   default:
      t = "unknown"
   }

   return
}

func main() {
   var variable any

   variable = 1024
   fmt.Printf("变量variable的数据类型:%s \n", GetType(variable)) // 变量variable的数据类型:int

   variable = "从入门到放弃"
   fmt.Printf("变量variable的数据类型:%s \n", GetType(variable)) // 变量variable的数据类型:string

   variable = 3.14
   fmt.Printf("变量variable的数据类型:%s \n", GetType(variable)) // 变量variable的数据类型:float64

   variable = struct{}{}
   fmt.Printf("变量variable的数据类型:%s \n", GetType(variable)) // 变量variable的数据类型:unknown
}

// ========== 总结 ========== //
// 1、变量.(type)和类型断言很像,但是它不能单独使用,必须搭配switch使用。

Copyright © 2024 码农人生. All Rights Reserved