三目运算符判断变量 a 是否是map 创建的
时间: 2023-08-12 15:08:56 浏览: 117
《Java开发手册(泰山版)》灵魂13问.pdf
在 Go 语言中,没有三目运算符,但可以使用条件表达式来实现类似的功能。可以使用 `reflect` 包来判断变量 `a` 是否是 map 创建的,然后通过条件表达式返回相应的值。
以下是一个示例代码:
```go
import "reflect"
func main() {
var a interface{} = make(map[string]int)
isMap := reflect.TypeOf(a).Kind() == reflect.Map
result := map[bool]string{true: "a is a map", false: "a is not a map"}[isMap]
println(result) // Output: a is a map
}
```
上面代码中,使用 `reflect.TypeOf` 函数获取变量 `a` 的类型,然后使用 `Kind` 方法获取类型的种类。如果变量 `a` 是 map 类型,则 `Kind` 方法返回 `reflect.Map`,否则返回其他种类的值。通过条件表达式判断 `isMap` 的值,然后返回相应的结果。
阅读全文