亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
乐安县| 潍坊市| 乌苏市| 祥云县| 伊宁市| 杭锦后旗| 鄂托克旗| 阿图什市| 岳普湖县| 清水县| 定日县| 灵寿县| 五常市| 阿城市| 武宣县| 拉萨市| 贺州市| 黄龙县| 罗江县| 夏津县| 南涧| 大同市| 文水县| 永新县| 顺昌县| 青海省| 玛沁县| 昌平区| 屏南县| 准格尔旗| 麦盖提县| 凤山县| 鄂尔多斯市| 黎平县| 邢台县| 青神县| 饶平县| 七台河市| 堆龙德庆县| 威信县| 永仁县|