Golang报错mixture of field:value and value initializers
这个错误跟编程习惯(模式)有关,都知道golang 语言的编程与java /python 以及其他的编程语言相似 ,一通百通,易学万卷书。
编程中同一个结构中要保持唯一模式;不能多种形式共用。
package main
import (
"fmt"
)
type person struct {
name string
age byte
}
type adminUser struct {
person
aType string
}
func main() {
var admin = adminUser{
person: person{name: "zhangsan", age: 32},
aType: "max"}
fmt.Println(admin)
}
1、new 方式创建 通过 new(type)函数进行创建
func main() {
var admin = new(adminUser)
admin.name = "zhangsan"
admin.age = 32
admin.aType = "M"
fmt.Println(admin)
}
2、字面量(直接值/形参值)格式: type { value1 , value2 , .....n}
func main() {
var admin = adminUser{person{"zhangsan", 32}, "M"}
fmt.Println(admin)
}
3、(推荐使用)组合字面量(指定参数)
格式:type { cloumnName1 : value1,cloumnName2: value2 }
func main() {
var admin = adminUser{aType: "M",person:person{name:"zhangsan",age: 32}}
fmt.Println(admin)
}