V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
JaminT

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

  •  
  •   JaminT · Sep 30, 2018 · 3309 views
    This topic created in 2779 days ago, the information mentioned may be changed or developed.
    这个 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)
    }
    5 replies    2018-10-16 05:34:41 +08:00
    Leigg
        1
    Leigg  
       Oct 1, 2018 via iPhone
    大 p 函数作为一个参数传入了 show 函数里面,你需要看 show 里面的实现
    gowk
        2
    gowk  
       Oct 1, 2018 via Android
    dx dy 只是形参,用来创建一个二维数组,重点是要理解中间变量 x y 是数组的索引而已,一,你没搞明白 range 的用法,二,学 Go 前要有别的语言的基础,比如 C
    akisaya
        3
    akisaya  
       Oct 1, 2018
    你这,是不是应该先理解下函数的定义和调用
    reus
        4
    reus  
       Oct 1, 2018
    Pic 作为参数传递给了 pic.Show
    Pic 是 pic.Show 里调用的,dx, dy 的值不用你操心
    zhizunzz
        5
    zhizunzz  
       Oct 16, 2018 via Android
    函数形参啊,show 方法会传进去
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   878 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 20:13 · PVG 04:13 · LAX 13:13 · JFK 16:13
    ♥ Do have faith in what you're doing.