Golang Go语言自学中有个不明白的地方,请教一下

发布于 1周前 作者 yibo5220 来自 Go语言

Golang Go语言自学中有个不明白的地方,请教一下
这个 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)
}


更多关于Golang Go语言自学中有个不明白的地方,请教一下的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

6 回复

大 p 函数作为一个参数传入了 show 函数里面,你需要看 show 里面的实现

更多关于Golang Go语言自学中有个不明白的地方,请教一下的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


dx dy 只是形参,用来创建一个二维数组,重点是要理解中间变量 x y 是数组的索引而已,一,你没搞明白 range 的用法,二,学 Go 前要有别的语言的基础,比如 C

你这,是不是应该先理解下函数的定义和调用

Pic 作为参数传递给了 pic.Show
Pic 是 pic.Show 里调用的,dx, dy 的值不用你操心

函数形参啊,show 方法会传进去

你好!很高兴看到你在自学Go语言,这是一门非常强大且高效的编程语言。关于你提到的“不明白的地方”,由于你没有具体说明是哪个方面或哪个知识点,我会尝试从几个常见的困惑点入手,希望能帮到你。

  1. 并发编程:Go语言以其简洁的并发模型著称。如果你对goroutines、channels或者select语句有疑问,建议深入理解这些概念,并通过编写小例子来实践。

  2. 接口与类型:Go语言的接口非常灵活,可以动态地实现。如果你对接口的定义和使用感到困惑,试着理解“鸭子类型”的概念,并多写代码来体会。

  3. 错误处理:Go语言鼓励显式处理错误,而不是像某些语言那样忽略它们。如果你对error类型、panic/recover机制或者自定义错误类型有疑问,建议仔细阅读相关文档。

  4. 内存管理:Go语言有垃圾回收机制,但了解内存分配和逃逸分析仍然很重要。如果你的程序出现了内存泄漏或性能问题,这些概念将帮助你诊断和解决。

  5. 标准库与第三方库:Go语言的标准库非常丰富,涵盖了网络编程、文件操作、加密解密等多个方面。同时,也有许多优秀的第三方库可供使用。如果你对某个库的用法不熟悉,建议查阅其官方文档或源码。

希望这些建议能帮到你!如果仍有具体疑问,欢迎随时提问。

回到顶部