Go语言学习:每日一练2

Go语言学习:每日一练2

目录

结构体

go 复制代码
//定义
type Vertex struct {
	X, Y int
}
//使用
func main() {
v1 := Vertex{1, 2}
fmt.Println(v.X)
//别的实例化方式
var v2 Vertex
v2 := *new(Vertex)  //返回的是指针
}

零值

结构体的零值并非是nil,而是一个其内部各个字段取各自零值的实例

go 复制代码
func main() {
	var p Person
	p1 := p
	p1.Name = "mike"
	fmt.Println(p.Name)
	fmt.Println(p1.Name)
}

type Person struct {
	Name string
}

数组

数组的零值类似于结构体,会根据其类型设置分别设置每个元素的零值

var array [3]int

//[0, 0, 0]

go 复制代码
var array [3]int

//创建
//1.声明的时候初始化
array := [6]int{1, 2}
//2.用new
array := *new([3]int)

切片

切片的零值是nil

go 复制代码
var slice []int

//创建
//1.声明的时候初始化
slice := []int{1, 2}
//2.用make
slice := make([]int, 0)
//3.从数组创建
slice := array[0:2]

映射

零值是nil

go 复制代码
//声明
var m map[string]string

//创建map
//1. 使用字面量
m := map[string]string{
"a" : "aaaa",
"b": "bbbb".
}
//2. 使用make
m := make(map[string]string)

指针

类型*T是指向T类型值的指针,其默认值为nil。指针也是一种类型。

操作符:

&操作符会生成一个指向其操作对象的指针。

*操作符表示指针指向的底层值。

go 复制代码
var p *int

a := 3
p = &a
b := *p

各个类型的零值一览


👑 天下英雄出我辈,一入江湖岁月催 我是热爱生活的「 无间行者 」,努力把实践过的解决方案分享给大家 如果这篇文章对你有用,一键三连,感谢你的鼓励,让我知道你在看


相关推荐
Strengthen_沈2 分钟前
简单分享下python的Fuk库
开发语言·python
12 分钟前
拍摄泡咖啡的剧本!
深度学习·学习·游戏·智能手机·生活
汀小烟21 分钟前
使用静态成员函数统计学生平均成绩
c语言·开发语言·数据结构·c++·vscode
fan043021 分钟前
Java 开发环境配置
java·开发语言
我要成为C++领域大神23 分钟前
【高性能服务器】select模型
linux·服务器·c语言·开发语言·网络·tcp·io多路复用
听忆.25 分钟前
RabbitMQ消息可靠性等机制详解(精细版三)
java·开发语言·spring boot·后端·spring·java-ee·rabbitmq
IT海中的小浪花29 分钟前
《昇思25天学习打卡营第22天 | 昇思MindSporeLSTM+CRF序列标注》
学习
python资深爱好者36 分钟前
Python中列表推导式的概念以及示例
开发语言·python
Orangejuz41 分钟前
go 学习 之 HTTP微服务示例
学习·http·golang