在Go語言中,type
關鍵字用于定義新的類型。它可以用來定義結構體(struct)、接口(interface)、命名類型(named type)、函數類型(function type)等。以下是一些使用type
關鍵字定義類型的示例:
type Person struct {
Name string
Age int
}
在上面的示例中,我們定義了一個名為Person
的結構體,它有兩個字段:Name
和Age
,分別表示人的姓名和年齡。
type Shape interface {
Area() float64
Perimeter() float64
}
在上面的示例中,我們定義了一個名為Shape
的接口,它包含兩個方法:Area()
和Perimeter()
,分別用于計算形狀的面積和周長。
type MyInt int
在上面的示例中,我們定義了一個名為MyInt
的命名類型,它是int
類型的別名。我們可以使用MyInt
類型來聲明變量,就像使用int
類型一樣。
type Calculator func(int, int) int
在上面的示例中,我們定義了一個名為Calculator
的函數類型,它接受兩個整數參數并返回一個整數結果。我們可以使用Calculator
類型來聲明變量,該變量可以存儲滿足該函數類型的函數。
定義類型后,我們可以使用該類型來聲明變量、進行類型轉換、實現接口等。例如:
func main() {
var p Person
p.Name = "Alice"
p.Age = 30
var s Shape
s = p // 將Person類型的變量賦值給Shape類型的變量
var c Calculator
c = func(a, b int) int { return a + b }
result := c(1, 2) // 調用c存儲的函數,計算1+2的結果
}
在上面的示例中,我們聲明了一個Person
類型的變量p
,并將其姓名和年齡分別設置為"Alice"和30。然后,我們聲明了一個Shape
類型的變量s
,并將p
賦值給它,因為Person
類型實現了Shape
接口。最后,我們聲明了一個Calculator
類型的變量c
,并將一個匿名函數賦值給它,該函數接受兩個整數參數并返回它們的和。然后,我們調用c
存儲的函數,計算1+2的結果,并將結果存儲在變量result
中。