MST

星途 面试题库

面试题:Go语言中如何使用类型断言判断空接口具体类型

在Go语言里,假设有一个空接口变量 `var i interface{}` 并且已经赋值,你如何通过类型断言判断它实际指向的是 `int` 类型还是 `string` 类型,并分别进行相应处理,请写出代码示例。
25.8万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import (
    "fmt"
)

func main() {
    var i interface{}
    i = 10 // 这里先赋值为int类型,你可以改成string类型测试

    if num, ok := i.(int); ok {
        fmt.Printf("它是int类型,值为: %d\n", num)
    } else if str, ok := i.(string); ok {
        fmt.Printf("它是string类型,值为: %s\n", str)
    } else {
        fmt.Println("既不是int类型也不是string类型")
    }
}