golang编程实练-熟悉数组常见操作

golang编程实练-熟悉数组常见操作

编码文章call10242025-09-27 19:49:146A+A-

main.go:

package main

import (
    "fmt"
    "sort"
)

func main() {
    // 固定数组
    arr := [3]int{1, 2, 3}
    println(arr[0])

    // 动态数组
    s := []int{1, 2, 3, 4, 5}
    fmt.Println(s[:3]) // 输出: [1 2 3]

    s2 := make([]int, 10, 100)
    s2[0] = 1
    // 获取数组长度,容量
    fmt.Printf("s.len:%v, s.cap:%v\n", len(s), cap(s))

    // 添加元素到数组
    s2 = append(s2, 2)

    // 数组排序 / 自定义排序
    sort.Slice(s2, func(i, j int) bool {
      return s2[i] > s2[j]
    })
    sort.Ints(s2)

    // 数组遍历
    for idx, v := range s2 {
      fmt.Printf("idx:%v, v:%v\n", idx, v)
    }

    // 切片
    s3 := s2[0:2]
    println(len(s3))

    // 多维数组
    a := [3][4]int{
      {0, 1, 2, 3},   /*  第一行索引为 0 */
      {4, 5, 6, 7},   /*  第二行索引为 1 */
      {8, 9, 10, 11}, /* 第三行索引为 2 */
    }
    println(a)

    println("done.")
}

说明:

  1. 数组保存的是相同类型的对象,golang中常用的是切片实现动态数组
  2. 切片是引用类型,是底层数组的动态视图,具备灵活性和效率两方面的优势。
  3. 例子中展现了动态数组的常规操作。
点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4