Go语学习笔记 - 结构体 | 从零开始Go语言

简介: Go语学习笔记 - 结构体 | 从零开始Go语言

学习笔记,写到哪是哪。


结构体有点类似类的概念,结构体中可以为不同项定义不同的数据类型。更像数据集合的概念。


样例代码如下


package main
import "fmt"
type Student struct {
  name   string
  age    int
  gender string
}
func test_type(stu, stu1 Student) {
  fmt.Printf("%s,%s\n", stu.name, stu1.name)
  fmt.Printf("age + age = %d\n", stu.age+stu.age)
}
func test_type1(stu, stu1 *Student) {
  fmt.Printf("%s,%s\n", stu.name, stu1.name)
  fmt.Printf("age + age = %d\n", stu.age+stu.age)
}
func main() {
  fmt.Println(Student{"小黄",
  19, "男"})
  fmt.Println(Student{name: "小黄", age: 19})
  fmt.Println("---------------------------------")
  var stu Student = Student{"小黄", 19, "男"}
  var stu1 Student = Student{"小红", 18, "女"}
  test_type(stu, stu1)
  test_type1(&stu, &stu1)
}

执行结果


{小黄 19 男}

{小黄 19 }                      

---------------------------------

小黄,小红                        

age + age = 38                  

小黄,小红                        

age + age = 38    


小结

还是不能完全和java的类进行类比。


相关文章
|
2天前
|
JavaScript Java Go
探索Go语言在微服务架构中的优势
在微服务架构的浪潮中,Go语言以其简洁、高效和并发处理能力脱颖而出。本文将深入探讨Go语言在构建微服务时的性能优势,包括其在内存管理、网络编程、并发模型以及工具链支持方面的特点。通过对比其他流行语言,我们将揭示Go语言如何成为微服务架构中的一股清流。
|
2天前
|
SQL 关系型数据库 MySQL
go语言中安装数据库驱动
【11月更文挑战第1天】
15 5
|
2天前
|
编译器 Go 开发者
go语言中导入相关包
【11月更文挑战第1天】
10 3
|
3天前
|
测试技术 Go
go语言中测试工具
【10月更文挑战第22天】
13 4
|
3天前
|
SQL 关系型数据库 MySQL
go语言中数据库操作
【10月更文挑战第22天】
14 4
|
2天前
|
关系型数据库 MySQL 数据库连接
go语言中打开数据库连接
【11月更文挑战第1天】
12 2
|
3天前
|
安全 测试技术 Go
Go语言中的并发编程模型解析####
在当今的软件开发领域,高效的并发处理能力是提升系统性能的关键。本文深入探讨了Go语言独特的并发编程模型——goroutines和channels,通过实例解析其工作原理、优势及最佳实践,旨在为开发者提供实用的Go语言并发编程指南。 ####
|
Go Python
Golang学习笔记之方法(method)
原文作者:学生黄哲链接:https://www.jianshu.com/p/6e615b08cfaf來源:简书简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。 ⽅法总是绑定对象实例,并隐式将实例作为第⼀实参 (receiver)。
1395 0
|
7天前
|
安全 网络协议 Go
Go语言网络编程
【10月更文挑战第28天】Go语言网络编程
96 65
|
7天前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
32 13