当前位置: 首页 > news >正文

Go语言 结构体

本文主要为Go语言 结构体介绍、语法、使用注意及其示例。

目录

结构体

语法

语法示例

语法说明

声明使用

创建并赋值

使用指针

使用注意

总结


结构体

C语言里面,我们可以使用typedef in MyInt。

在go语言中使用结构体来模拟类,使用type + struct类处理。

语法

语法示例
type structName struct{fieldName typeName......
}
语法说明

type和struct是Go 语言的关键字

二者组合就代表要定义一个新的结构体类型

structName 是结构体类型的名字

fieldName 是结构体的字段名,而tpeName是对应的字段类型

字段可以是零个、一个或者多个

声明使用

var s1 Student

采用简短声明法

s1 := Student{"张三", 20, "男", 100}

 

创建并赋值

创建学生信息的结构体并赋值。

示例如下:

package mainimport "fmt"// c语言里面,我们可以使用typedef int MyInt
type MyInt int // type相当于typedeftype Student struct {name stringage intgender stringscore float64
}func main() {var i, j MyIntj, j = 10, 20fmt.Println("i+j=", i+j)lilei := Student{name:   "lilei",age:    20,gender: "男",score:  100, // 最后一个元素后面必须加上逗号,如果不加上逗号则必须与}同一行}// 使用结构体各个字段fmt.Println("lilei:", lilei.name, lilei.age, lilei.gender, lilei.score)
}

 

使用指针

示例如下:

s1 := &lilei
fmt.Println("lilei 使用指针s1.name打印:", s1.name, s1.age, s1.gender, s1.score)
fmt.Println("lilei 使用指针(*s1).name:", (*s1).name, (*s1).age, (*s1).gender, (*s1).score)

使用注意

使用结构体变量 需要注意:

再定义期间对结构体赋值时,如果每个字段都赋值了,那么字段的名字可以省略不写。

如果只对局部变量赋值,那么必须明确指定变量名字。

示例如下:

sunN := Student{"sunnan",18,"男",99,
}
fmt.Println(sunN)sunZ := Student{name: "sunzhen",age:  25,
}
fmt.Println(sunZ)

总结

本文主要为Go语言 结构体介绍、语法、使用注意及其示例。

http://www.lryc.cn/news/417083.html

相关文章:

  • 数据结构(邓俊辉)学习笔记】词典 03—— 排解冲突(1)
  • HTML5+CSS3-HTML5入门
  • 谷粒商城实战笔记-138-商城业务-首页-渲染二级三级分类数据
  • git的基础用法
  • 常见中间件漏洞(四、Apache合集)
  • HCIE-学习笔记
  • 【计算机网络】性能指标-带宽和时延(MB、GB、KB、B、byte、bit、Mb/s、Gb/s、b/s等)学习
  • ANN(Approximate Nearest Neighbor)搜索和索引库到底是什么?
  • 勒索软件、供应链攻击等带来的思考!
  • 【Nuxt】自定义插件和生命周期
  • MySQL的简单介绍
  • leetcode 116.填充每个节点的下一个右侧结点指针
  • 『 Linux 』网络基础
  • Python酷库之旅-第三方库Pandas(070)
  • 第一篇Linux介绍
  • 在Windows编程中,MFC\C++中OnCopyData如何传递基础类型数据?
  • 10款超好用的图纸加密软件推荐,2024企业常用图纸加密软件分享
  • BUUCTF [安洵杯 2019]easy_serialize_php 1
  • 前端面试宝典【CSS篇】【5】
  • stem32江科大自学笔记
  • C++-类与对象基础
  • 嵌入式day20
  • UE4 SLUA IOS打包报错解决办法
  • SpringDI(依赖注入) 以及SpringIOC容器对Bean管理
  • 伯克利Linux系统管理: 脚本编写学习 课堂与实验(系统简洁保姆级学习)
  • 探索腾讯云AI代码助手的效能与实用性
  • 清华大学终于把Python整理成了《漫画书》
  • 有关Linux操作系统中僵尸进程与孤儿进程的理解
  • Go语言实现依赖注入
  • 不仅能防沉迷游戏的防沉迷软件(Python)