0
我是比較新的,只是試圖找出正確的模式是從一個函數中返回一個結構集合。請參閱下面的代碼,我已經返回了一小部分結構,然後在嘗試迭代它時遇到問題,因爲我必須使用接口類型。看到例子:在golang中返回函數結構片段的正確模式
package main
import (
"fmt"
)
type SomeStruct struct {
Name string
URL string
StatusCode int
}
func main() {
something := doSomething()
fmt.Println(something)
// iterate over things here but not possible because can't range on interface{}
// would like to do something like
//for z := range something {
// doStuff(z.Name)
//}
}
func doSomething() interface{} {
ServicesSlice := []interface{}{}
ServicesSlice = append(ServicesSlice, SomeStruct{"somename1", "someurl1", 200})
ServicesSlice = append(ServicesSlice, SomeStruct{"somename2", "someurl2", 500})
return ServicesSlice
}
從我讀過的東西,似乎都使用類型開關或ValueOf與反射來獲得具體的價值。我想我在這裏只是錯過了一些東西,因爲我覺得來回傳遞數據應該是相當直接的。