Go语言中的类型断言-类型断言的示例

时间:2024-11-17 08:09:32

让我们通过一个简单的例子来理解类型断言的使用方法:

package main

import (
	"fmt"
)

func main() {
	var i interface{} = "hello"

	// 正确的类型断言
	s := i.(string)
	fmt.Println(s) // 输出: hello

	// 使用ok来避免panic
	f, ok := i.(float64)
	if ok {
		fmt.Println(f)
	} else {
		fmt.Println("i不是float64类型")
	}
}

在这个例子中,我们首先将一个字符串赋值给接口变量 i。然后我们尝试将 i 断言为 string 类型,这是正确的,因为 i 存储的确实是字符串。接着我们使用带 ok 的形式来安全地检查 i 是否可以被断言为 float64 类型,由于它不是,所以 okfalse,程序不会 panic。