获得徽章 0
#青训营 x 字节后端训练营# 今天这一篇讲的是GO语言的指针。Go 语言中指针是很容易学习的,Go 语言中使用指针可以更简单的执行一些任务。
接下来让我们来一步步学习 Go 语言指针。
我们都知道,变量是一种使用方便的占位符,用于引用计算机内存地址。
Go 语言的取地址符是 &,放到一个变量前使用就会返回相应变量的内存地址。
func main() {
var a int = 10

fmt.Printf("变量的地址: %x\n", &a )
}
这样就能得到a的地址了。

一个指针变量可以指向任何一个值的内存地址。类似于变量和常量,在使用指针前需要声明指针。
var ip *int /* 指向整型*/
var fp *float32 /* 指向浮点型 */
指针使用流程:

定义指针变量。
为指针变量赋值。
访问指针变量中指向地址的值。
在指针类型前面加上 * 号(前缀)来获取指针所指向的内容。
当一个指针被定义后没有分配到任何变量时,它的值为 nil。

nil 指针也称为空指针。

nil在概念上和其它语言的null、None、nil、NULL一样,都指代零值或空值。

一个指针变量通常缩写为 ptr。
展开
评论
#青训营 x 字节后端训练营# 今天这一篇讲的是GO语言的数组。Go 语言跟C语言一样提供了数组类型的数据结构。数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整型、字符串或者自定义类型。
相对于去声明number0, number1, ..., and number99的变量,使用数组形式numbers[0], numbers[1] ..., numbers[99]更加方便且易于扩展。
var balance [10] float32 这个是用来声明数组的一行代码。
var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0} 这个是初始化数组的一行代码。
其中初始化数组中 {} 中的元素个数不能大于 [] 中的数字。
如果忽略 [] 中的数字不设置数组大小,Go 语言会根据元素的个数来设置数组的大小: balance[4] = 50.0
数组元素可以通过索引(位置)来读取。格式为数组名后加中括号,中括号中为索引的值。
var salary float32 = balance[9]
salary := balance[9]
展开
评论
#青训营 x 字节后端训练营# 今天的这一篇讲的是GO语言的变量作用域。作用域为已声明标识符所表示的常量、类型、变量、函数或包在源代码中的作用范围。
Go 语言中变量可以在三个地方声明:

1.函数内定义的变量称为局部变量;
在函数体内声明的变量称之为局部变量,它们的作用域只在函数体内,参数和返回值变量也是局部变量。
以下实例中 main() 函数使用了局部变量 a, b, c:

2.函数外定义的变量称为全局变量;
在函数体外声明的变量称之为全局变量,全局变量可以在整个包甚至外部包(被导出后)使用。
全局变量可以在任何函数中使用,以下实例演示了如何使用全局变量:

3.函数定义中的变量称为形式参数;
形式参数会作为函数的局部变量来使用。实例如下:

以上输出结果分别为
展开
Pikachu803于2023-05-02 23:59发布的图片
Pikachu803于2023-05-02 23:59发布的图片
Pikachu803于2023-05-02 23:59发布的图片
Pikachu803于2023-05-02 23:59发布的图片
评论
#青训营 x 字节后端训练营# 这一篇讲的是GO语言的函数的基础知识。
函数是基本的代码块,用于执行一个任务。
Go 语言最少有1个 main() 函数。
你可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务。
函数声明告诉了编译器函数的名称,返回类型和参数。
Go 语言标准库提供了多种可动用的内置的函数。例如,len() 函数可以接受不同类型参数并返回该类型的长度。如果我们传入的是字符串则返回字符串的长度,如果传入的是数组,则返回数组中包含的分量个数。
GO语言的函数格式为:func function_name( [parameter list] ) [return_types]{
函数体
}
以下是对其格式的解析:
func:函数由 func 开始声明
function_name:函数名称,函数名和参数列表一起构成了函数签名。
parameter list:参数列表,参数就像一个占位符,当函数被调用时,你可以将值传递给参数,这个值被称为实际参数。参数列表指定的是参数类型、顺序及参数个数。参数是可选的,也就是说函数也可以不包含参数。
return_types:返回类型,函数返回一列值。return_types 是该列值的数据类型。有些功能不需要返回值,这种情况下 return_types 不是必须的。
函数体:函数定义的代码集合。
展开
评论
#青训营 x 字节后端训练营# 这一篇讲的是Go语言的switch语句。


switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上直下逐一测试,直到匹配为止。

switch 语句执行的过程从上至下,直到找到匹配项,匹配项后面也不需要再加break。

语法一般是如图一这样的。
变量 var1 可以是任何类型,而 val1 和 val2 则可以是同类型的任意值。类型不被局限于常量或整数,但必须是相同的类型;或者最终结果为相同类型的表达式。
展开
Pikachu803于2023-04-30 00:50发布的图片
评论
#青训营 x 字节后端训练营# 这一篇讲的是Go语言的break语句。
Go 语言中 break 语句用于以下两方面:
1.用于循环语句中跳出循环,并开始执行循环之后的语句;
2.break在switch(开关语句)中在执行一条case后跳出语句的作用。

运行结果为:a 的值为 : 10
a 的值为 : 11
a 的值为 : 12
a 的值为 : 13
a 的值为 : 14
a 的值为 : 15 code.juejin.cn
展开
评论
个人成就
文章被点赞 8
文章被阅读 1,381
掘力值 85
收藏集
3
关注标签
0
加入于