Golang新手问题:如何在一个切片/数组中存储2种结构体
Golang新手问题:如何在一个切片/数组中存储2种结构体 我正在尝试用Go构建一个基本的Web应用程序。我使用以下代码执行模板:
t.Execute(w, someArray)
someArray包含某种结构体类型。但现在我需要传递多个切片/数组。我在考虑将两个数组合并到一个数组中,但没能成功实现。我的大脑可能已经停止运转了。在写这个问题时我意识到这是个愚蠢的问题。我该怎么做呢?这是Go Playground链接:
更多关于Golang新手问题:如何在一个切片/数组中存储2种结构体的实战教程也可以访问 https://www.itying.com/category-94-b0.html
7 回复
range .People
更多关于Golang新手问题:如何在一个切片/数组中存储2种结构体的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
我正在研究 @calmh 的代码。
这通常不是您想要做的事情。
您有什么建议?我该如何传递两个东西?您会怎么做?
Any 在 Go 中的写法是 interface{}:https://play.golang.org/p/hgfazssiRbt
通常我们不建议这样做。但为了将其传递给模板处理,这种做法可能是完全合适的。
func main() {
var a interface{}
a = "example"
fmt.Printf("%T %v\n", a, a)
a = 42
fmt.Printf("%T %v\n", a, a)
}
可以传递包含更多字段的结构体,其中一个字段是您现有的切片。
package main
import (
"fmt"
)
type Params struct {
Slice []int
Offset int
Limit int
}
func process(p Params) {
fmt.Printf("Slice: %v\nOffset: %d\nLimit: %d\n", p.Slice, p.Offset, p.Limit)
}
func main() {
slice := []int{1, 2, 3, 4, 5}
process(Params{Slice: slice, Offset: 1, Limit: 3})
}


