猿问

Go:未定义的类

我想用 Go 尝试图形库。我找到了以下示例:


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

}

但是,在构建时似乎缺少某些类。


D:\go\work>go build draw.go

# command-line-arguments

.\draw.go:13: undefined: NewCanvas

.\draw.go:19: undefined: Vector

.\draw.go:20: undefined: Vector

我的环境在 HelloWorld 示例中运行良好,但是在导入图像库时似乎缺少某些内容。对新手入门有什么帮助吗?


慕的地6264312
浏览 152回答 2
2回答

一只名叫tom的猫

您需要按.go依赖顺序包含每个文件。假设您正在使用此库,请尝试按以下顺序运行主文件:https&nbsp;:&nbsp;//github.com/felixpalmer/go_imagesgo&nbsp;run&nbsp;draw.go&nbsp;canvas.go&nbsp;vector.go

智慧大石

您在找到该示例的同一个包中缺少NewCanvas函数和Vector结构。我相信你在这里找到了。您可以运行go get https://github.com/felixpalmer/go_images并添加您缺少的导入。
随时随地看视频慕课网APP

相关分类

Go
我要回答