数组

数组

数组操作
数组操作
数组优缺点

代码示例

package main

import (
    "errors"
    "fmt"
)

// arr 数组
var arr []int = []int{1, 2, 3, 4, 5, 6, 0}

func main() {
    fmt.Println("数组操作演示")

    item := get(1)
    fmt.Printf("查看下标为%d 数组元素 %d\n", 1, item)

    err := update(2, 10)
    if err == nil {
        fmt.Println("更新后结果", arr)
    } else {
        fmt.Println("更新失败")
    }

    insertTail(99)
    fmt.Println("尾部插入元素完成", arr)

    insertMiddle(2, 100)
    fmt.Println("中间插入元素完成", arr)

    del(2)
    fmt.Println("删除元素完成", arr)
}

// get 获取数组元素
func get(i int) int {
    return arr[i]
}

// update 更新元素
// i 下标
// item 更新元素
func update(i, item int) error {
    len := len(arr)
    if i > len-1 {
        return errors.New("超出数组长度")
    }
    arr[i] = item
    return nil
}

// 两倍扩容
func enlargeCapacity() {
    len := len(arr)

    var arrNew = make([]int, len*2)

    for i, v := range arr {
        arrNew[i] = v
    }

    arr = arrNew
}

// insertTail 插入尾部
// item 插入元素
func insertTail(item int) {
    len := len(arr)
    arr[len-1] = item
}

// insertMiddle 中间插入
// index 插入位置
// item 插入元素
func insertMiddle(index, item int) {
    // 数组长度
    enlargeCapacity()

    for i := len(arr) - 1; i >= index; i-- {
        arr[i] = arr[i-1]
    }

    arr[index] = item
}

// del 删除元素
// index 需要删除的下标
func del(index int) {
    len := len(arr)
    for i := index; i < len; i++ {
        arr[i-1] = arr[i]
    }

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容