91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
江阴市| 波密县| 岑巩县| 泰州市| 乌拉特前旗| 徐汇区| 哈巴河县| 尼勒克县| 辽宁省| 巴东县| 安福县| 如东县| 泽库县| 南京市| 涟源市| 台北县| 湖北省| 定西市| 灵石县| 涡阳县| 城口县| 拉孜县| 晋城| 保德县| 烟台市| 江陵县| 姚安县| 临桂县| 南平市| 鹤壁市| 同江市| 额济纳旗| 滨海县| 林西县| 香格里拉县| 沈阳市| 吴川市| 漳浦县| 新巴尔虎右旗| 正镶白旗| 中卫市|