Go:未定义的类

标签 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 示例运行良好,但是在导入图像库时似乎缺少某些东西。对新手入门有什么帮助吗?

最佳答案

您需要按照依赖顺序包含每个 .go 文件。

假设您正在使用此库,请尝试按此顺序运行主要文件:https://github.com/felixpalmer/go_images

go run draw.go canvas.go vector.go

关于Go:未定义的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34922901/

相关文章:

go - 如何从 JWT token 中提取声明

javascript - AES CBC : JavaScript/CryptoJS Encrypt -> Golang Decrypt

http - 对每个请求使用不同的代理

mysql - 网络未知的 Heroku cleardb 连接默认地址

go - 在 proto 消息中声明一个字段标签

golang slice 变量分配(来自教程)

Go:表示没有查询字符串的路径

go - 什么是接口(interface)断言?

templates - 如何从 pongo 模板调用 Go 函数

go - 如何阻止除正在运行的 goroutines 之外的所有 goroutines