五、列表:数组
数组保存特定数量的元素,不能增长或者收缩。要声明保存数组的变量,需要在方括号([])中指定它保存的元素数量,后跟数组所保存的元素类型。
var myArray [4]string
var notes [7]string
notes[0]="do"
notes[1]="re"
notes[2]="mi"
fmt.Println(notes[0]) // do
fmt.Println(notes[1]) // re
创建数组时,它所包含的所有值都初始化为数组所保存类型的零值。
数组字面量
var notes [2]string=[2]string{
"do","re"}
// 短变量声明
notes:=[2]string{
"do","re"}
// 可以将数组字面量分散到多行上但是必须在代码中的每个换行符前使用逗号,如果数组字面量的最后一项后面跟着的是换行符,
// 需要在其后面跟一个逗号(使得以后向代码中添加更多的元素变得更容易。)
text:=[2]string{
"hello",
"world",
}
使用for…range安全遍历数组
在range格式中,提供一个变量,该变量(index)将保存每个元素的整数索引,另一个变量(value)将保存元素本身的值,以及要循环的数组。循化将为数组中的每一元素运行一次,将元素的索引赋值给第一个变量,将元素的值赋值给第二个变量。
for index,value := range myArray {
fmt.Println(index,value)
}
可以使用给空白标识符(_)忽略于for…range循环的值
读取文本文件
package main
import (
"bufio"
"fmt"
"log"
"os"
)
func main() {
file,err:=os.Open("data.txt") // 打开数据文件进行读取,默认是在程序同目录下搜索数据文件
if err!=nil {
log.Fatal(err)
}
scanner:=bufio.NewScanner(file)
for scanner.Scan() {
// 从文件中读取一行,Scan方法将从文件中读取一行文本,如果读取数据成功则返回true,否则返回false
fmt.Println(scanner.Text()) // 打印该行,Text方法将返回一个包含已读取数据的字符串
}
err=file.Close() // 关闭文件释放资源
if(err!=nil) {
<