golang结构与结构方法实现示例

1.定义结构

Go 复制代码
// 结构定义
type person struct {
	name string
	age  int
}

2.实现结构方法

Go 复制代码
// getName:实现结构方法getName
func (p person) getName() string {
	return p.name
}

// getAge:实现结构方法getAge
func (p person) getAge() int {
	return p.age
}

3.实现普通方法

Go 复制代码
// 返回新的结构地址
func newPerson(name string) *person {
	p := person{name: name} //使用结构
	p.age = 18
	return &p //返回结构地址
}

4.使用结构

Go 复制代码
//使用结构
	fmt.Println(person{name: "HELLO", age: 99})

5.普通函数操作结构

Go 复制代码
fmt.Println(newPerson("NICK"))

6.直接初始化结构

Go 复制代码
//直接初始化结构
	cat := struct {
		name  string
		isAni bool
	}{"Tom", true}
	fmt.Println(cat, &cat) //使用结构

7.结构方法使用

Go 复制代码
//初始化结构
	person1 := person{name: "Tom", age: 99}
	//使用结构方法
	fmt.Println(person1.getName(), person1.getAge())
相关推荐
草莓熊Lotso1 小时前
C++11 核心特性实战:列表初始化 + 右值引用与移动语义(附完整代码)
java·服务器·开发语言·汇编·c++·人工智能·经验分享
初夏睡觉2 小时前
从0开始c++,但是重置版,第1篇(c++基本框架)
开发语言·c++
workflower7 小时前
时序数据获取事件
开发语言·人工智能·python·深度学习·机器学习·结对编程
CoderYanger8 小时前
C.滑动窗口-求子数组个数-越长越合法——2799. 统计完全子数组的数目
java·c语言·开发语言·数据结构·算法·leetcode·职场和发展
C++业余爱好者8 小时前
Java 提供了8种基本数据类型及封装类型介绍
java·开发语言·python
想用offer打牌8 小时前
RocketMQ如何防止消息丢失?
java·后端·架构·开源·rocketmq
林杜雨都8 小时前
Action和Func
开发语言·c#
皮卡龙8 小时前
Java常用的JSON
java·开发语言·spring boot·json
火山灿火山8 小时前
Qt常用控件(三)
开发语言·qt
利刃大大9 小时前
【JavaSE】十三、枚举类Enum && Lambda表达式 && 列表排序常见写法
java·开发语言·枚举·lambda·排序