MST

星途 面试题库

面试题:Go中空接口在泛型编程里如何实现简单类型转换

假设你有一个空接口类型的变量 `interface{}`,它存储了一个 `int` 类型的值。在Go的泛型编程环境下,如何将其转换回 `int` 类型,并进行简单的数值加1操作,然后输出结果?请编写相关代码。
17.4万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import (
    "fmt"
)

func main() {
    var i interface{} = 10
    result, ok := i.(int)
    if ok {
        result++
        fmt.Println(result)
    } else {
        fmt.Println("类型断言失败")
    }
}

在上述代码中,通过类型断言 i.(int)interface{} 类型转换为 int 类型,并判断转换是否成功。如果成功则进行加1操作并输出结果,若失败则输出提示信息。这里即使在泛型编程环境下,对于这种类型断言转换操作,基本方式是一致的,因为类型断言本身就是Go语言的基础特性,并非泛型独有的。