中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

golang接口返回空數組怎么實現

小億
109
2023-09-26 21:20:43
欄目: 編程語言

在Go語言中,可以使用nil來表示空數組。具體實現如下:

package main
import (
"fmt"
)
type MyInterface interface {
GetData() []int
}
type MyStruct struct {
Data []int
}
func (s *MyStruct) GetData() []int {
return s.Data
}
type MyEmptyStruct struct{}
func (e *MyEmptyStruct) GetData() []int {
return nil
}
func main() {
var myInterface MyInterface
myStruct := &MyStruct{
Data: []int{1, 2, 3},
}
myEmptyStruct := &MyEmptyStruct{}
myInterface = myStruct
fmt.Println(myInterface.GetData()) // Output: [1 2 3]
myInterface = myEmptyStruct
fmt.Println(myInterface.GetData()) // Output: []
}

在上述代碼中,定義了一個接口MyInterface,其中包含一個GetData方法,該方法返回一個int類型的數組。然后,定義了一個結構體MyStruct和一個空結構體MyEmptyStruct,它們都實現了GetData方法。

GetData方法中,如果返回的是一個空數組,可以直接返回nil

main函數中,創建了一個MyStruct類型的對象myStruct,并將其賦值給myInterface變量,然后通過myInterface.GetData()調用GetData方法并輸出結果。

同樣地,創建了一個MyEmptyStruct類型的對象myEmptyStruct,并將其賦值給myInterface變量,再次通過myInterface.GetData()調用GetData方法并輸出結果。此時,由于GetData方法返回的是nil,因此輸出結果為空數組。

0
高碑店市| 酒泉市| 东兴市| 阿城市| 噶尔县| 巫溪县| 衡南县| 洛宁县| 满洲里市| 衡水市| 大方县| 梅河口市| 精河县| 衡阳县| 隆林| 金湖县| 广州市| 霍城县| 平谷区| 涡阳县| 陆丰市| 大足县| 阳山县| 从化市| 烟台市| 云和县| 右玉县| 柯坪县| 鹤峰县| 新乡市| 邳州市| 酉阳| 江口县| 阜宁县| 景谷| 高安市| 比如县| 济南市| 舟曲县| 云和县| 翁源县|