- 博客(10)
- 收藏
- 关注
原创 GO语言--返回值
没有参数的 return 语句返回各个返回变量的当前值。这种用法被称作“裸”返回。直接返回语句仅应当用在像下面这样的短函数中。在长的函数中它们会影响代码的可读性。命名返回参数可看做与形参类似的局部变量,最后由 return 隐式返回。Go 的返回值可以被命名,并且就像在函数体开头声明的变量那样使用。命名返回参数允许 defer 延迟调用通过闭包读取和修改。命名返回参数可被同名局部变量遮蔽,此时需要显式返回。返回值的名称应当具有一定的意义,可以作为文档使用。显式 return 返回前,会先修改命名返回参数。
2024-01-10 18:39:41 626 1
原创 GO语言--参数
注意1:无论是值传递,还是引用传递,传递给函数的都是变量的副本,不过,值传递是值的拷贝。值传递:指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。引用传递:是指在调用函数时将实际参数的地址传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。在默认情况下,Go 语言使用的是值传递,即在调用过程中不会影响到实际参数。不定参数传值 就是函数的参数不是固定的,后面的类型是固定的。任意类型的不定参数: 就是函数的参数和每个参数的类型都不是固定的。
2024-01-10 18:31:04 380
原创 GO语言--函数定义
函数声明包含一个函数名,参数列表, 返回值列表和函数体。如果函数没有返回值,则返回列表可以省略。函数从第一条语句开始执行,直到执行return语句或者执行函数的最后一条语句。你可能会偶尔遇到没有函数体的函数声明,这表示该函数不是以Go实现的。当两个或多个连续的函数命名参数是同一类型,则除了最后一个类型之外,其他都可以省略。建议将复杂签名定义为函数类型,以便于阅读。有返回值的函数,必须有明确的终止语句,否则会引发编译错误。函数可以没有参数或接受多个参数。函数可以返回任意数量的返回值。注意类型在变量名之后。
2024-01-10 18:24:14 557
原创 GO语言--循环语句range
for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环。另外两种引用类型 map、channel 是指针包装,而不像 slice 是 struct。Golang range类似迭代器操作,返回 (索引, 值) 或 (键, 值)。for range可以完成所有for可以做的事情,却能做到for不能做的,包括。遍历key为string类型的map并同时获取key和value。for 和 for range有什么区别?注意,range 会复制对象。遍历key为整型递增的map。
2024-01-10 18:14:01 343
原创 GO语言--循环语句for
不要期望编译器能理解你的想法,在初始化语句中计算出全部结果是个好主意。Go语言的For循环有3中形式,只有其中的一种使用分号。for循环是一个循环控制结构,可以执行指定次数的循环。在 for 循环中嵌套一个或多个 for 循环。
2024-01-10 18:06:27 439
原创 GO语言--条件语句select
如果没有任意一条语句可以执行(即所有的通道都被阻塞),那么有两种可能的情况: ①如果给出了default语句,那么就会执行default的流程,同时程序的执行会从select语句后的语句中恢复。select的用法与switch语法非常类似,由select开始的一个新的选择块,每个选择条件由case语句来描述。如果没有可运行的case语句,且没有default语句,select将阻塞,直到某个case通信可以运行。如果没有可运行的case语句,且有default语句,那么就会执行default的动作。
2024-01-10 17:54:50 474
原创 GO语言--条件语句switch
变量 var1 可以是任何类型,而 val1 和 val2 则可以是同类型的任意值。您可以同时测试多个可能符合条件的值,使用逗号分割它们,例如:case val1, val2, val3。switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上直下逐一测试,直到匹配为止。Golang switch 分支表达式可以是任意类型,不限于常量。switch 语句还可以被用于 type-switch 来判断某个 interface 变量中实际存储的变量类型。
2024-01-10 17:47:21 373
原创 GO语言--条件语句if
条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句。if 在布尔表达式为 true 时,其后紧跟的语句块执行,如果为 false 则执行 else 语句块。if 在布尔表达式为 true 时,其后紧跟的语句块执行,如果为 false 则不执行。你可以以同样的方式在 if 语句中嵌套 else if...else 语句。
2024-01-10 17:43:58 532
原创 GO语言--匿名函数
上面先定义了一个名为getSqrt 的变量,初始化该变量时和之前的变量初始化有些不同,使用了func,func是定义函数的,可是这个函数和上面说的函数最大不同就是没有函数名,也就是匿名函数。匿名函数由一个不带函数名的函数声明和函数体组成。匿名函数的优越性在于可以直接使用函数内的变量,不必申明。在Go里面,函数可以像普通变量一样被传递或使用,Go语言支持随时在代码里定义匿名函数。匿名函数是指不需要定义函数名的一种函数实现方式。Golang匿名函数可赋值给变量,做为结构字段,或者在 channel 里传送。
2024-01-10 17:36:43 553
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人