自学 go 有个不明白的地方,请教一下

2018-09-30 23:53:24 +08:00
 cuixiao603
这个 dx dy 是什么东西啊 他也没赋值啊 为什么可以用来创建切片
package main

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

func Pic(dx, dy int) [][]uint8 {
// 外层 slice
a := make([][]uint8, dy)
for x := range a {
// 里层 slice
b := make([]uint8, dx)
for y := range b {
// 给里层 slice 每个元素赋值
b[y] = uint8(x*y - 1)
}
// 给外层 slice 每个元素赋值
a[x] = b
}
return a
}

func main() {
pic.Show(Pic)
}
2642 次点击
所在节点    Go 编程语言
5 条回复
Leigg
2018-10-01 00:11:53 +08:00
大 p 函数作为一个参数传入了 show 函数里面,你需要看 show 里面的实现
gowk
2018-10-01 00:22:50 +08:00
dx dy 只是形参,用来创建一个二维数组,重点是要理解中间变量 x y 是数组的索引而已,一,你没搞明白 range 的用法,二,学 Go 前要有别的语言的基础,比如 C
akisaya
2018-10-01 12:47:58 +08:00
你这,是不是应该先理解下函数的定义和调用
reus
2018-10-01 16:16:06 +08:00
Pic 作为参数传递给了 pic.Show
Pic 是 pic.Show 里调用的,dx, dy 的值不用你操心
zhizunzz
2018-10-16 05:34:41 +08:00
函数形参啊,show 方法会传进去

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/494308

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX