gpt4 book ai didi

go - 导入未使用错误

转载 作者:IT王子 更新时间:2023-10-29 00:39:31 26 4
gpt4 key购买 nike

我不知道如何创建和使用包。我正在使用 liteid 和 go 1.4.2 但这一切都可以从命令行重现。我似乎能够创建形状包,但它不会从主包加载。

GOPATH=d:\src\teaching\golang
GOROOT=c:\go

+teaching\golang\pkg
\windows_386
shape.a
\src
\packages
packages.go
\shape
shape.go

go install shape -> generates shape.a

go build packages.go
# packages
d:\src\teaching\golang\src\packages\packages.go:5: imported and not used: "shape"
d:\src\teaching\golang\src\packages\packages.go:8: undefined: Shape
d:\src\teaching\golang\src\packages\packages.go:19: undefined: Circle

形状.go

package shape

import (
"fmt"
)

const (
pi = float64(3.14)
)

type Shape interface {
Area() float64
}

type Circle struct {
x int
y int
radius int
}

func (c *Circle) Area() float64 {
return pi * float64(c.radius*c.radius)
}

func (c Circle) String() string {
return fmt.Sprintf("{x=%d, y=%d, radius=%d}", c.x, c.y, c.radius)
}

packages.go

package main

import (
"fmt"
"shape"
)

func calculateArea(shapes ...Shape) float64 {
sum := float64(0)

for _, v := range shapes {
sum += v.Area()
}

return sum
}

func main() {
circle := Circle{x: 1, y: 2, radius: 2}

fmt.Println(circle, circle.Area(), calculateArea(&circle))
}

有什么想法吗?

最佳答案

Shape 在 shape 包中定义。您必须将其引用为 shape.Shape

关于go - 导入未使用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29082150/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com