Skip to content

Latest commit

 

History

History
60 lines (48 loc) · 1008 Bytes

README.md

File metadata and controls

60 lines (48 loc) · 1008 Bytes

Go每日一题

今日(2023-02-12)的题目如下

下面这段代码能否编译通过?如果可以,输出什么?

func GetValue() int {
	return 1
}

func main() {
	i := GetValue()
	switch i.(type) {
	case int:
		println("int")
	case string:
		println("string")
	case interface{}:
		println("interface")
	default:
		println("unknown")
	}
}
🔑 答案解析:

答案及解析:编译失败。

考点:类型断言,类型断言的语法形如:i.(type),其中 i 是接口,type 是固定关键字,需要注意的是,只有接口类型才可以使用类型断言。

36楼

package main

func GetValue() interface{} {
    return 1
}

func main() {
    i := GetValue()
    switch i.(type) {
    case int:
        println("int")
    case string:
        println("string")
    case interface{}:
        println("interface")
    default:
        println("unknown")
    }
}