技术分享
数据库连接池
Vue双向数据绑定
访问授权协议-OAuth2
Golang基础赋能
Golang 基础赋能(一)
Golang基础赋能(二)
Golang基础赋能(三)
Golang基础赋能(四)
-
+
首页
Golang基础赋能(三)
### 数组 go语言提供了数组类型的数据结构 是一个**固定长度**的集合,可以通过索引来读取数据 **数组的声明与使用** ``` 表达式 var 数组名称 [数组大小]数组类型 1.初始化赋值 var numbers = [5]int{1, 2, 3, 4, 5} 2.长度不确定的时候 //我们可以通过...去代替数组长度 var balance = [...]float32{1000.0, 2.0, 3.4, 7.0, 50.0} 3.指定下标去初始化元素 balance := [5]float32{1:2.0,3:7.0} ``` ### 指针 其实我们平时在程序中的每一个值在内存中都会有对应的地址,这个地址被称之为内存地址,我们可以把我们的值想象成一个房子,而内存地址就是这个房子的门牌号 指针变量 :指向值的内存地址 在go中要取到内存地址是非常简单的,仅仅只需要一个符号就可以获取到对应的地址:& ``` package main import "fmt" func main() { var a int = 10 fmt.Printf("变量的地址: %x\n", &a ) } ``` **指针变量的声明** ``` 声明格式 var 名称 *类型 ex: var ip *int ``` 作用:可以在函数传参的时候作为引用传递进行传递,可以达到节省空间的作用 引用传递:只传递内存地址,而不是将值复制一份在进行传递 例子: ``` package main import "fmt" func main() { a := 1 b := 2 fmt.Println(&a) fmt.Println(&b) Test(a, &b) } func Test(a int, b *int) { fmt.Println(&a) fmt.Println(*b) } ``` ### 结构体 结构体:由一系列具有相同类型或不同类型的数据构成的数据集合。 我们可以将结构体理解成一个箱子,然后我们准备在这个箱子中放很多水果,我们预定这个位置放苹果,另外一个位置放梨,另另外一个位置放桃子,注意是先预定位置,而不是真正的放入水果 当我们程序走到某个地方之后,我们需要创建对应的结构体实例之后,这个结构体才能被真正的使用起来(也就是等于真正的放了水果进去) 例子: ``` package main import "fmt" //定义一个箱子 type Fruit struct { apple int pear string peach [1]string } func main() { p := [1]string{ "test", } //放入水果 fruit := Fruit{ 1, "test", p, } //使用 fmt.Println(fruit.pear) fmt.Println(fruit.apple) fmt.Println(fruit.peach[0]) } ```
吴晓俊
2025年1月10日 13:53
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码