溫馨提示×

Go語言類型斷言如何使用

小樊
81
2024-11-08 12:38:12
欄目: 編程語言

在Go語言中,類型斷言用于檢查接口值(interface value)是否包含一個(gè)特定的類型。類型斷言的語法如下:

value, ok := x.(T)

其中,x 是一個(gè)接口值,T 是要斷言的類型,value 是斷言成功后的變量,ok 是一個(gè)布爾值,表示斷言是否成功。

下面是一個(gè)簡單的示例,演示了如何使用類型斷言:

package main

import (
	"fmt"
)

func main() {
	var x interface{} = "hello, world!"

	// 使用類型斷言檢查x是否為string類型
	value, ok := x.(string)
	if ok {
		fmt.Println("x is a string:", value)
	} else {
		fmt.Println("x is not a string")
	}

	// 使用類型斷言檢查x是否為int類型
	value, ok = x.(int)
	if ok {
		fmt.Println("x is an int:", value)
	} else {
		fmt.Println("x is not an int")
	}
}

輸出結(jié)果:

x is a string: hello, world!
x is not an int

在這個(gè)示例中,我們首先定義了一個(gè)空接口類型的變量 x,并將其賦值為字符串 “hello, world!”。然后,我們使用類型斷言分別檢查 x 是否為 string 類型和 int 類型。如果斷言成功,ok 的值為 true,并且 value 包含斷言后的值。如果斷言失敗,ok 的值為 false,并且 value 的值為該類型的零值。

0