Go語言類型switch


switch還可以用於判斷變量類型。使用方式為T.(type),即在變量后加上.(type)。見代碼:

package main

 

import (

"fmt"

)

 

func main() {

var a interface{}

a = "abc"

 

switch t := a.(type) {

case string:

fmt.Printf("string %s\n", t)

case int:

fmt.Printf("int %d\n", t)

default:

fmt.Printf("unexpected type %T", t)

}

}

 

輸出結果為:

string abc

 

如果將上面的:

var a interface{}

a = "abc"

這兩句,合成一句:

a := "abc"

 

編譯就會出錯:

cannot type switch on non-interface value a (type string)

不能在一個非接口類型的變量上使用type switch。

也就是說 type switch只能用於接口的變量。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM