title: Go: undefined class
body: <p>I'd like to try graphics libraries with Go. I've found the following example:</p>
  
  <pre><code>package main
  
  import (
      "image"
      "image/color"
      "image/png"
      "log"
      "os"
  )
  
  func main() {
      width, height := 512, 512
      canvas := NewCanvas(image.Rect(0, 0, width, height))
      canvas.DrawGradient()
  
      // Draw a series of lines from the top left corner to the bottom of the image
      for x := 0; x &lt; width; x += 8 {
          canvas.DrawLine(color.RGBA{0, 0, 0, 255},
              Vector{0.0, 0.0},
              Vector{float64(x), float64(height)})
      }
  
      outFilename := "lines.png"
      outFile, err := os.Create(outFilename)
      if err != nil {
          log.Fatal(err)
      }
      defer outFile.Close()
      log.Print("Saving image to: ", outFilename)
      png.Encode(outFile, canvas)
  }
  </code></pre>
  
  <p>However, when building it seems that some Classes are missing.</p>
  
  <pre><code>D:\go\work&gt;go build draw.go
  # command-line-arguments
  .\draw.go:13: undefined: NewCanvas
  .\draw.go:19: undefined: Vector
  .\draw.go:20: undefined: Vector
  </code></pre>
  
  <p>My environment worked fine for the HelloWorld example, however it seems something is missing when importing image libraries. Any help to get started a newbie ?</p>