【问题标题】:Can't find custom package找不到自定义包
【发布时间】:2020-08-07 21:18:35
【问题描述】:

我正在尝试在 go 中创建一个自定义包:我创建了文件夹项目:

my_project
|_database
  |_database.go
main.go

但是当我尝试导入时,它给了我这个错误:“无法导入数据库(导入数据库没有包)”

我尝试按照一些教程中的说明运行“go init”并创建了一个“go.mod”文件,然后我运行“go install”并且工作正常,但在 main.go 中它仍然无法正常工作。 现在的项目结构是这样的:

my_project
|_database
  |_database.go
  |_go.mod
  |_go.sum
main.go

我使用 Visual Studio 代码在 Windows 上工作

这是我导入包的方式:

import (
    "fmt"
    ...
    "database"
)

function main() {

【问题讨论】:

  • 您如何在main.go 中导入您的自定义database 包?请在您的问题中添加。
  • @Azeem 好的,我编辑问题
  • 尝试:"./database" 而不是 "database"
  • 问题已回答。

标签: go


【解决方案1】:

你需要做一些事情。

确保你的 database.go 是以下方式:

它应该包含一个包名这种情况是数据库,注释 需要在此包外使用的函数,请使用 func 代替 的功能。并注释代码并大写函数名,以便它可以 被导出。

package database

import "fmt"

// Connect function to connect to my database
func Connect(){
   fmt.Print("connected...")
}

你的 main.go 应该如下。

用func代替function,根据文件夹位置导入数据库 这种情况是 ./ 使用包名数据库。因为这个功能 不属于当前包 main。

package main

import "./database"

func main() {
   database.Connect()
}

这应该是您的文件夹结构。

my_project
|_database
  |_database.go
main.go
go.mod 
go.sum

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-24
    • 1970-01-01
    • 2020-11-04
    • 2021-10-05
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    相关资源
    最近更新 更多