MST

星途 面试题库

面试题:Go语言中如何使用空接口实现类型断言并确保类型安全

请编写一段Go代码,使用空接口接收不同类型的值,然后通过类型断言判断其实际类型,并安全地获取对应类型的值进行打印。例如,使用空接口接收一个整数和一个字符串,分别进行类型断言和打印。
43.1万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import (
    "fmt"
)

func main() {
    var data interface{}

    data = 10
    if num, ok := data.(int); ok {
        fmt.Printf("类型是int,值为: %d\n", num)
    } else {
        fmt.Println("类型断言失败,不是int类型")
    }

    data = "hello"
    if str, ok := data.(string); ok {
        fmt.Printf("类型是string,值为: %s\n", str)
    } else {
        fmt.Println("类型断言失败,不是string类型")
    }
}