Go语言教程之边写边学:导入导出:如何导入包并声明包的别名
Go还具有为包名称别名的功能。这个例子旨在演示在我们的Go程序中使用别名包名称的重要性。
以下是我们应用程序的目录结构。
├── vehicle
│ ├── go.mod
│ ├── main.go
│ └── car
│ └── car.go
进入车辆目录并运行以下命令以创建名为 Vehicle 的go模块。
go mod init vehicle
上面的命令将创建一个名为go.mod的文件。
# vehicle\main.go
package main
import (
car1 "vehicle/car"
car2 "vehicle/car"
"fmt"
)
func main() {
c1 := new(car1.Car)
c1.Single(10)
fmt.Println(c1.Price)
c2 := new(car2.Car)
c2.Double(10)
fmt.Println(c2.Price)
}
我们将car包别名为car1和car2。在main() 函数中,我们现在可以使用上面的别名创建变量c1和c2。我们使用c1调用Car结构体的Single() 和Double() 方法,c1.Single() 和c2.Double()。
在car文件夹中创建一个文件car.go。car文件夹中的文件应以行package car开头,因为它属于car包。
# vehicle\car\car.go
package car
type Car struct {
Price int
}
func (obj *Car) Single(price int) int {
obj.Price = price
return obj.Price
}
func (obj *Car) Double(price int) int {
obj.Price = price * 2
return obj.Price
}
vehicle>go run main.go
如果运行该程序,将获得以下输出。
10
20
系列文章