網頁

2022/4/7

Golang any 關鍵字

Go語言的any關鍵字用法如下。


Go 1.18加入泛型(generics)時新增了any關鍵字代表型別參數(type parameter)的限制型別可為任意型別,也可用在一般變數的型別宣告

any其實是空介面interface{}的別名,兩者效果相同。

main.go

package main

import "fmt"

type Employee struct {
	Id   int
	Name string
}

func printValueAndType(i any) { // take any as parameter
	fmt.Printf("value=%v, type=%T\n", i, i)
}

func main() {

    var i any // declare var as any type

    i = "abc"
    printValueAndType(i) // value=abc, type=string

    i = 123
    printValueAndType(i) // value=123, type=int

    i = Employee{1, "John"}
    printValueAndType(i) // value={1 John}, type=main.Employee

}

沒有留言:

張貼留言