【发布时间】:2022-11-22 12:27:33
【问题描述】:
我是 Golang 开发的新手。我试图初始化一个具有 3 级嵌入式结构的结构。我可以创建直到 2 级,但是当我尝试使用 3 级时,它会给我这个编译时错误。
复合文字中缺少类型
这是试用代码 可用的。请帮助/建议一个很好的方法来实现同样的目标。
在 main.go 中,无法初始化 a2 变量。
package main
import (
"structpackage"
cfmt "basic/utils"
"fmt"
)
type p StrPackage
type n NestedStruct
type Address struct {
Name string
city string
Pincode int
StrPackage p // embedded struct
NestedStruct n // nested struct embedded in Address struct
}
func main() {
// Declaring and initializing a struct using a struct literal
a1 := Address{Name: "Akshay", city: "Dehradun", Pincode: 3623572, StrPackage: p{14, "Software engineer"}} // embedded struct implementation
/** * embedded struct implementation Start **/
a2 := Address{Name: "Akshay", city: "Dehradun", Pincode: 3623572, NestedStruct: n{Designation: "Software engineer", S: {Age: 12, Occuption: "sfdsf"}}} // Naming fields while initializing a struct
fmt.Println("Address2: ", a2)
}
结构包.go
package structpackage
type StrPackage struct {
Age int
Occuption string
}
type NestedStruct struct {
Designation string
S StrPackage
}
【问题讨论】:
标签: go golangci-lint