判断一个变量是否是map 创建的
时间: 2024-01-23 16:03:34 浏览: 177
golang针对map的判断,删除操作示例
要判断一个变量是否是 map 创建的,可以使用 `reflect` 包来实现。可以通过 `reflect.ValueOf` 函数获取变量的值,然后通过 `Kind` 方法获取变量的类型。如果变量类型是 `map`,则可以进一步通过 `MapKeys` 方法获取 map 中的键列表。
以下是一个示例代码:
```go
import (
"fmt"
"reflect"
)
func isMap(v interface{}) bool {
rv := reflect.ValueOf(v)
if rv.Kind() == reflect.Map {
keys := rv.MapKeys()
// Do something with keys if needed
return true
}
return false
}
func main() {
m := make(map[string]int)
fmt.Println(isMap(m)) // Output: true
var s string
fmt.Println(isMap(s)) // Output: false
}
```
阅读全文