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)
- }