gpt4 book ai didi

arrays - 如何在 Go 中清除和重用数组(不是 slice )?

转载 作者:行者123 更新时间:2023-12-03 10:09:45 25 4
gpt4 key购买 nike

如何在 Go 中清除和重用数组?将所有值分配给默认值的手动 for 循环是唯一的解决方案吗?

package main

import (
"fmt"
)

func main() {
arr := [3]int{1,2,3}
fmt.Println(arr) // Output: [1 2 3]

// clearing an array - is there a faster/easier/less verbose way?
for i := range arr {
arr[i] = 0
}

fmt.Println(arr) // Output: [0 0 0]
}

最佳答案

鉴于变量 arr 已经实例化为类型 [3]int,我记得有几个选项可以覆盖其内容:

    arr = [3]int{}

    arr = make([]int, 3)

它们都用 0 的值覆盖 slice 。

请记住,每次我们使用这种语法 var := Type{} 都会将给定 Type 的新对象实例化到变量中。因此,如果您获得相同的变量并再次实例化它,您会将其内容覆盖为新变量。

在 Go 中,语言将 slice 视为类型对象,而不是像 intrunebyte 等原始类型.

关于arrays - 如何在 Go 中清除和重用数组(不是 slice )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64840084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com