博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
go语言中结构struct
阅读量:5808 次
发布时间:2019-06-18

本文共 1307 字,大约阅读时间需要 4 分钟。

package main;import "fmt"//结构struct//定义Person结构type Person struct {	name string;	age  int;};//结构里面还有一个匿名结构type Person2 struct {	name string;	age  int;	contact struct {		phone string;		addr  string;	}}//结构里的匿名字段type Person3 struct {	string;	int;}//嵌入结构,组合type Person4 struct {	Person;	phone string;	addr  string;}func main() {	a := Person{};	a.name = "test";	a.age = 27;	fmt.Println(a);	//简单初始化方式	b := Person{		name: "test2",		age:  24,	};	fmt.Println(b);	//调用函数A,这里是传递的值拷贝	A(b);	fmt.Println(b);	//调用函数B,这里传递的是地址	B(&b);	fmt.Println(b);	//对结构初始化的时候,一般直接用取地址符号	c := &Person{		name: "test3",		age:  25,	};	//在调用函数时,就不需要写取地址&符号	B(c);	fmt.Println(c);	//匿名结构	d := struct {		name string;		age  int;	}{		name: "test4",		age:  22,	};	fmt.Println(d);	e := Person2{		name: "test5",		age:  33,	};	//匿名结构的初始化	e.contact.phone = "1388888888";	e.contact.addr = "地址";	fmt.Println(e);	//注意字段的顺序	f := Person3{		"test6",		55,	};	fmt.Println(f);	//两个结构间的比较	g := f;	fmt.Println(g == f);	//嵌入结构的初始化	h := Person4{		Person: Person{name: "test7", age: 66},		phone:  "139999999",		addr:   "地址2",	};	fmt.Println(h);	h.Person.name = "哈哈";	h.Person.age = 99;	fmt.Println(h);	//可以对name和age直接操作	h.name = "haohao";	h.age = 88;	fmt.Println(h);}func A(p Person) {	p.age = 33;	fmt.Println(p);}func B(p *Person) {	p.age = 33;	fmt.Println(p);}

  

转载地址:http://qdubx.baihongyu.com/

你可能感兴趣的文章
让前端小姐姐愉快地开发表单
查看>>
Dubbo笔记(四)
查看>>
Web前端JQuery入门实战案例
查看>>
java B2B2C Springboot电子商城系统- SSO单点登录之OAuth2.0 登出流程(3)
查看>>
12月26日云栖精选夜读:CDN新品发布:阿里云SCDN安全加速开放公测
查看>>
USB 通信原理
查看>>
7zZip zip RAR iOS
查看>>
date命令的详细用法!
查看>>
分布式存储ceph集群部署
查看>>
UiAutomator源码分析之UiAutomatorBridge框架
查看>>
python 开发之selenium
查看>>
Xcode3.2.5中找不到Mac OS X - Command Line Utility -...
查看>>
css的div垂直居中的方法,百分比div垂直居中
查看>>
如何理解EM算法
查看>>
nginx 域名跳转一例~~~(rewrite、proxy)
查看>>
linux用户家目录无损迁移到独立硬盘
查看>>
文件查找
查看>>
shell编程前言(一)
查看>>
5、centos7.*配置yum的EPEL源及其它源
查看>>
JSON前后台简单操作
查看>>