Golang报错mixture of field:value and value initializers

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 : type,cloumnName2: type }

func main() {
	var admin = adminUser{aType: "M",person:person{name:"zhangsan",age: 32}}
	fmt.Println(admin)
}

你可能感兴趣的:(golang,开发语言,后端)