Go:SQL Lite包未从Workspace加载

时间:2016-05-20 18:00:54

标签: go import packages

New Go程序员在这里 - 提前为任何滥用的术语或惯例打破道歉 - 我仍然在快速掌握语言。我试图在我的go程序中使用这个sql lite包,而有时我的程序将因以下错误而失败

# command-line-arguments
/usr/local/go/pkg/tool/darwin_amd64/link: cannot open file        
/usr/local/go/pkg/darwin_amd64/github.com/mattn/go-sqlite3.a: open   
/usr/local/go/pkg/darwin_amd64/github.com/mattn/go-sqlite3.a: no such 
file or directory

当我尝试使用go run main.go运行程序时会发生这种情况。 go-sqlite3.a文件存在于我的工作区包中,但由于某种原因,不想加载它。当我尝试从 - 子包导入模块时,这似乎只会发生(?不确定这是否是正确的术语)。

如果我在单个main.go文件中执行以下操作

package main

import(
    "fmt"
  _ "github.com/mattn/go-sqlite3"    
)

func main(){
    fmt.Println("Hello World from main()")
}
一切正常。但是,如果我将一个包添加到我的程序中,那么文件结构就像这样布局

main.go
test/test.go

我在这个

中包含了我的包(在main.go中)
import(
    "fmt"
    "./test"    
)

func main(){
    test.Test()
}

我的包(test/test.go)看起来像这样

package test

import(
    "fmt"
    _ "github.com/mattn/go-sqlite3"    
)

func Test(){
    fmt.Println("Hello World from Test() in test/test.go")
}

然后go run main.go失败并显示上述错误消息。

有谁知道这里发生了什么?在我的导入中使用./是不对的?我曾尝试在线阅读,但我找不到能够解决我所看到的行为及其原因的问题。

0 个答案:

没有答案