Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go的切片练习中出错_Go_Arguments - Fatal编程技术网

Go的切片练习中出错

Go的切片练习中出错,go,arguments,Go,Arguments,我正在努力解决这个问题。我目前的解决办法是 package main import "golang.org/x/tour/pic" func Pic(dx, dy int) [][]uint8 { picture := make([][]uint8, dy) x := dx for iy := 0; iy < dy; iy++ { picture[iy] = make([]uint8, dx) for ix := 0; ix

我正在努力解决这个问题。我目前的解决办法是

package main

import "golang.org/x/tour/pic"

func Pic(dx, dy int) [][]uint8 {
    picture := make([][]uint8, dy)

    x := dx

    for iy := 0; iy < dy; iy++ {
        picture[iy] = make([]uint8, dx)

        for ix := 0; ix < dx; ix++ {
            x = (x+dy)/2
            picture[iy][ix] = uint8(x)
        }
    }

    return picture
}

func main() {
    pic.Show(Pic(1,2))
}
但是我得到了以下错误

tmp/sandbox931798243/main.go:23:无法使用Pic1,2类型[][]uint8 作为funcint类型,pic.Show的参数中的int[]uint8

我做错了什么?这可能是沙盒的一个bug吗?

pic.Show接受一个funcint类型的参数,int[]]uint8-您需要向它传递一个函数。您正在传递执行funcint的结果int[][]uint8,即a[][]uint8。你想要的是:

pic.Show(Pic)
传入函数Pic本身,它满足要求。

Pic.Show接受一个funcint类型的参数,int[]]uint8-您需要向它传递一个函数。您正在传递执行funcint的结果int[][]uint8,即a[][]uint8。你想要的是:

pic.Show(Pic)

传递函数Pic本身,满足要求。

该死,谢谢!您应该在询问之前阅读错误消息。。。再次感谢!错误消息通常都有答案,但并不总是清楚它们告诉你什么…该死,谢谢!您应该在询问之前阅读错误消息。。。再次感谢!错误消息通常都有答案,但并不总是清楚它们告诉你什么。。。