2017-06-05 4 views
1

Ich versuche, die Scheiben Übung zu lösen. Meine aktuelle Lösung istFehler in Gos Scheiben Übung

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)) 
} 

Aber ich erhalte die folgende Störung

tmp/sandbox931798243/main.go: 23: kann nicht verwendet werden Pic (1, 2) (Typ [] [] uint8) als Typ func (int, int) [] [] uint8 in Argument

pic.Show Was mache ich falsch? Könnte das ein Fehler in der Sandbox sein?

Antwort

2

pic.Show nimmt ein einzelnes Argument vom Typ func(int, int) [][]uint8 - Sie müssen es eine Funktion übergeben. Sie geben das Ergebnis der Ausführung ein func(int, int) [][]uint8, d. H. Ein [][]uint8. Was Sie wollen, wäre:

pic.Show(Pic) 

Passing in Ihrer Funktion Pic selbst, die die Anforderungen erfüllt.

+0

Verdammt, danke! Sie sollten die Fehlermeldung lesen, bevor Sie fragen ... Danke nochmal! –

+1

Fehlermeldungen haben normalerweise die Antwort, aber es ist nicht immer klar, was sie Ihnen sagen ... – Adrian