我正试图完成Exercise: SlicesGo Go之旅.
但是我真的不明白我被要求做什么.
实施Pic.它应该返回一个长度为dy的片段,其中每个元素都是一个dx 8位无符号整数片.运行程序时,它将显示您的图片,将整数解释为灰度(井,蓝光)值.
我有以下代码
package main
import "golang.org/x/tour/pic"
func Pic(dx, dy int) [][]uint8 {
a := make([][]uint8, dy)
return a
}
func main() {
pic.Show(Pic)
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经创建了dy长度的切片.但是我不明白下一步.我是否需要创建一个for循环,在其中我将切片的每个元素分配给dx范围内的值?我不是要求代码,而是要求解释/澄清
这是我的代码的样子:
package main
import "code.google.com/p/go-tour/pic"
func Pic(dx, dy int) [][]uint8 {
var pic = make([][]uint8, dy)
for y := 0; y < dy; y++ {
pic[y] = make([]uint8, dx)
for x := 0; y < dx; x++ {
pic[y][x] = uint8(x*y)
}
}
return pic
}
Run Code Online (Sandbox Code Playgroud)
在寻找解决方案时,我发现PeterSO的代码完美无缺
func main() {
pic.Show(Pic)
}
func Pic(dx, dy int) [][]uint8 {
pixels := make([][]uint8, dy)
for y := 0; y < dy; y++ {
pixels[y] …Run Code Online (Sandbox Code Playgroud)