北屋教程网

专注编程知识分享,从入门到精通的编程学习平台

Go语言零到一:数组(go语言数组转字符串)

引言

数组是 Go 语言中最基础的数据结构之一,用于存储固定大小的相同类型的元素集合。数组的大小在定义时确定,并且在运行时不能改变。

1. 数组声明

  • 基本语法
    • 使用 [ ] 后跟类型和长度来声明数组。
    • 示例:var arr [5]int
  • 初始化数组
    • 可以在声明时初始化数组。
    • 示例:arr := [5]int{1, 2, 3, 4, 5}
  • 省略长度
    • 如果在初始化时提供了元素,可以省略长度,编译器会根据元素数量推断长度。
    • 示例:arr := [...]int{1, 2, 3, 4, 5}

2. 访问数组元素

  • 使用索引
    • 数组元素可以通过索引访问,索引从 0 开始。
    • 示例:fmt.Println(arr[0]) // 输出 1
  • 越界检查
    • 访问超出数组范围的索引会导致运行时错误。
    • 示例:
    • fmt.Println(arr[5]) // 运行时错误:index out of range

3. 遍历数组

  • 使用 for 循环
    • 可以使用 for 循环遍历数组。
    • 示例:
for i := 0; i < len(arr); i++ { 
 fmt.Println(arr[i]) 
}
  • 使用 for-range
    • 更简洁的方式是使用 for-range 循环。
    • 示例:
for index, value := range arr { 
 fmt.Println(index, value) 
}

4. 数组作为函数参数

  • 传递数组
    • 函数可以接受数组作为参数。
    • 示例:
func printArray(a [5]int) { 
 for _, v := range a { 
 fmt.Println(v) 
 } 
}
  • 传递数组切片
    • 通常,使用数组切片(slice)作为参数,因为它提供了更灵活的长度和容量。
    • 示例:
func printSlice(s []int) { 
 for _, v := range s { 
 fmt.Println(v) 
 } 
}

5. 示例代码

package main

import (
	"fmt"
)

func main() {
	// 声明并初始化数组
	arr := [5]int{1, 2, 3, 4, 5}

	// 访问数组元素
	fmt.Println(arr[0]) // 输出 1

	// 遍历数组
	for i := 0; i < len(arr); i++ {
		fmt.Println(arr[i])
	}

	// 使用 for-range 遍历
	for index, value := range arr {
		fmt.Println(index, value)
	}

	// 作为函数参数
	printArray(arr)

	// 传递数组切片
	slice := arr[1:4] // 创建切片
	printSlice(slice)
}

func printArray(a [5]int) {
	for _, v := range a {
		fmt.Println(v)
	}
}

func printSlice(s []int) {
	for _, v := range s {
		fmt.Println(v)
	}
}
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言