gpt4 book ai didi

arrays - 在golang中通过引用传递数组

转载 作者:IT王子 更新时间:2023-10-29 01:24:26 28 4
gpt4 key购买 nike

我有 C 背景,以 C 风格传递数组会导致错误。

package main
import "fmt"

func f(a *int){
fmt.Println(a[1])
}

func main(){
var a [100]int
a[1]=100
f(a)
}

错误::不能在 f 的参数中使用 (type [100]int) 作为类型 *int

最佳答案

正如其他人在评论中提到的,您可能想要使用 slice 而不是数组。 slice 已经通过引用传递,因此无需指定指针。下面的 make 语句创建了一个整数片段(由数组支持)。在下面的代码中,我给它的长度为 2,容量为 100,以满足您分配给索引 1 的目标。

import (
"fmt"
)

func f(a []int) {
fmt.Println(a[1])
}

func main() {
a := make([]int, 2, 100)
a[1] = 100
f(a)
}

关于arrays - 在golang中通过引用传递数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38731467/

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