Go结构体与匿名结构体

Go结构体与匿名结构体两个定义方式不一样

package main

import "fmt"

//结构体
//当前不满足复杂场景,
type person struct {
	name   string
	age    int
	gender string
	hobby  []string
}

func main() {
	//声明一个person类型的变量
	var test person
	//通过字段赋值
	test.name = "傻逼"
	test.age = 90
	test.gender = "男"
	test.hobby = []string{"上天", "轻微", "好"}
	//访问test的变量
	fmt.Println(test)
	fmt.Println(test.name)

	//匿名结构体,一般场景是临时用一次 节省全局变量空。
	var xxx struct {
		name string
		aget int
	}
	xxx.name = "匿名结构体"
	fmt.Println(xxx.name)
	fmt.Printf("type:%T value:%v\n", xxx, xxx)
}

输出

{傻逼 90 男 [上天 轻微 好]}
傻逼
匿名结构体
type:struct { name string; aget int } value:{匿名结构体 0}

posted @ 2022-01-11 15:50  iXiAo9  阅读(252)  评论(0编辑  收藏  举报