在golang中将数组作为参数传递

用户名

为什么这不起作用?

package main

import "fmt"

type name struct {
    X string
}

func main() {
    var a [3]name
    a[0] = name{"Abbed"}
    a[1] = name{"Ahmad"}
    a[2] = name{"Ghassan"}

    nameReader(a)
} 

func nameReader(array []name) {
    for i := 0; i < len(array); i++ {
        fmt.Println(array[i].X)
    }
}

错误:

.\structtest.go:15: cannot use a (type [3]name) as type []name in function argument
詹姆斯·亨斯特里奇

在尝试将数组传递给该函数的调用时,已将函数定义为接受切片作为参数。有两种解决方法:

  1. 调用函数时,从数组中创建一个切片。像这样更改呼叫应该足够了:

    nameReader(a[:])
    
  2. 更改函数签名以采用数组而不是切片。例如:

    func nameReader(array [3]name) {
        ...
    }
    

    该解决方案的缺点是该函数现在只能接受长度为3的数组,并且在调用该数组时将创建该数组的副本。

您可以在此处找到有关数组和切片的更多详细信息,以及使用它们时的常见陷阱:http : //openmymind.net/The-Minimum-You-Need-To-Know-About-Arrays-And-Slices-In-Go /

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Powershell中将数组作为参数传递?

来自分类Dev

在C ++中将数组作为函数参数传递

来自分类Dev

在TypeScript中将数组作为参数传递

来自分类Dev

在sqlite Swift中将数组作为参数传递

来自分类Dev

无法在Java中将数组作为参数传递

来自分类Dev

在Python中将数组作为参数传递

来自分类Dev

在TypeScript中将数组作为参数传递

来自分类Dev

在C中将多维数组作为参数传递

来自分类Dev

在Kendo UI中将数组作为参数传递

来自分类Dev

在php中将数组作为参数传递

来自分类Dev

在PowerShell中将数组作为参数传递

来自分类Dev

在C中将数组作为参数传递

来自分类Dev

在 PHP 中将数组作为函数的参数传递

来自分类Dev

在 Thymeleaf 片段中将数组作为参数传递

来自分类Dev

在Java中将Integer或String数组作为参数传递

来自分类Dev

如何在Java中将任何数组作为参数传递?

来自分类Dev

在VBA中将数组作为RunPython脚本的参数传递(xlwings)

来自分类Dev

在詹金斯Pipelie中将数组作为参数传递

来自分类Dev

如何在ruby中将数组作为单个参数传递?

来自分类Dev

在JavaScript中将数组作为内置函数参数传递

来自分类Dev

在shell脚本中将命名参数作为数组传递

来自分类Dev

Rails-在模型函数中将数组作为参数传递

来自分类Dev

如何在VB宏中将数组作为参数传递

来自分类Dev

在bash中将字符串或数组作为参数传递

来自分类Dev

在bash中将数组作为函数参数传递时出错

来自分类Dev

如何在soap请求中将结构数组作为参数传递?

来自分类Dev

无法在find方法中将数组作为参数传递

来自分类Dev

如何在C中将连续数组作为参数传递?

来自分类Dev

将数组作为参数传递

Related 相关文章

热门标签

归档