正文:
使用下划线增加数字可读性
有时候我们代码里会定义很长的数字,虽然计算机程序能支持很大的数据的计算,但是对我们来说,可读性是一个需要考虑的点,特别是1后面全是0的时候。
但是这个问题在Go语言中是可以通过一个小技巧来解决的,如下代码:
go
package main
import "fmt"
func main() {
number := 10000000
better := 10_000_000
fmt.Println(number == better)
}
number
被赋值为10,000,000,而better
也使用了相同的值,但是使用了下划线作为千位分隔符。从Go 1.13开始,数字字面量中可以使用下划线 **_
****来增强可读性,但它不会改变数字的值。**所以,10_000_000
和10000000
是等价的。
格式化方法中多次使用相同参数
直接看代码:
go
package main
import "fmt"
func main() {
name := "Bob"
fmt.Printf("My name is %[1]s. Yes, you heard that right: %[1]s\n", name)
}
%[1]s
是一个占位符,它告诉Printf
函数在这个位置插入一个字符串类型的变量。方括号中的数字1
表示后面参数列表中的第一个参数(在这个例子中是变量name
)。
字符串中的%[1]s
出现了两次,它们都引用的是同一个参数(即name
),因此都会被替换为"Bob"
。
这里的关键点是占位符%[1]s
的使用,它允许你在格式化字符串中多次引用同一个参数,而无需在参数列表中重复提供该参数。
数组的模糊计数
...
这个标识在Go语言中可以说是比较常见了,除了数组拼接会遇到以外,在下面的代码中也会使用到:
go
package main
import "fmt"
func main() {
arr := [3]int{1, 2, 3}
sameArr := [...]int{1, 2, 3}
fmt.Println(arr)
fmt.Println(sameArr)
}
定义并初始化数组:
go
arr := [3]int{1, 2, 3}
这里定义了一个包含3个整数的数组arr
,并初始化为{1, 2, 3}
。[3]int
指定了数组的长度为3,并且数组中的元素是整数类型。
使用省略号定义并初始化数组:
go
sameArr := [...]int{1, 2, 3}
这里定义了另一个数组sameArr
,并使用...
来自动计算数组的长度。数组也被初始化为{1, 2, 3}
。这种方式允许你不显式地指定数组的长度,编译器会根据初始化时提供的元素数量自动确定数组的长度。在这个例子中,sameArr
的长度也会被自动设置为3。
其中,arr
是显式指定长度的数组,而sameArr
是使用省略号自动计算长度的数组。两者在功能上是等效的,但sameArr
的定义方式更为灵活,因为它不需要你提前知道数组的确切长度。
本篇完成~