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())
相关推荐
重生之我在20年代敲代码25 分钟前
strncpy函数的使用和模拟实现
c语言·开发语言·c++·经验分享·笔记
爱上语文26 分钟前
Springboot的三层架构
java·开发语言·spring boot·后端·spring
serve the people30 分钟前
springboot 单独新建一个文件实时写数据,当文件大于100M时按照日期时间做文件名进行归档
java·spring boot·后端
编程零零七3 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
2401_858286114 小时前
52.【C语言】 字符函数和字符串函数(strcat函数)
c语言·开发语言
铁松溜达py4 小时前
编译器/工具链环境:GCC vs LLVM/Clang,MSVCRT vs UCRT
开发语言·网络
everyStudy4 小时前
JavaScript如何判断输入的是空格
开发语言·javascript·ecmascript
C-SDN花园GGbond5 小时前
【探索数据结构与算法】插入排序:原理、实现与分析(图文详解)
c语言·开发语言·数据结构·排序算法
罗政6 小时前
[附源码]超简洁个人博客网站搭建+SpringBoot+Vue前后端分离
vue.js·spring boot·后端
迷迭所归处6 小时前
C++ —— 关于vector
开发语言·c++·算法