gpt4 book ai didi

go - Go的 slice 练习出错

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

我正在尝试解决 slice 练习。我目前的解决方案是

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: cannot use Pic(1, 2) (type [][]uint8) as type func(int, int) [][]uint8 in argument to pic.Show

我做错了什么?这可能是沙箱的错误吗?

最佳答案

pic.Show 采用 func(int, int) [][]uint8 类型的单个参数 - 您需要向它传递一个函数。您正在传递 执行 func(int, int) [][]uint8 的结果,即 [][]uint8。你想要的是:

pic.Show(Pic)

传入你的函数Pic本身,满足要求。

关于go - Go的 slice 练习出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44374829/

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