您的位置:首页 > 文旅 > 美景 > Go语言 结构体

Go语言 结构体

2025/1/8 6:39:15 来源:https://blog.csdn.net/json_ligege/article/details/140988427  浏览:    关键词: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语言 结构体介绍、语法、使用注意及其示例。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com