加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

数组 – 在golang中通过引用传递数组

发布时间:2020-12-16 09:27:51 所属栏目:大数据 来源:网络整理
导读:我来自C背景并在C风格中传递数组导致错误. 请帮助 package mainimport "fmt"func f(a *int){ fmt.Println(a[1])}func main(){ var a [100]int a[1]=100 f(a)} Error ::不能在f的参数中使用a(type [100] int)作为类型* int 解决方法 正如其他人在评论中提到的
我来自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)
}

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

解决方法

正如其他人在评论中提到的那样,您可能希望使用切片而不是数组.切片已通过引用传递,因此无需指定指针.下面的make语句创建一个int片段(由数组支持).在下面的代码中,我给它的长度为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)
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读