当前位置: > > > > 从 github 存储库导入 go-sql-driver/sql 时出错
从 github 存储库导入 go-sql-driver/sql 时出错
来源:stackoverflow
2024-04-27 20:45:37
0浏览
收藏
积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《从 github 存储库导入 go-sql-driver/sql 时出错》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~
问题内容
如标题所示,导入go-mysql-driver包时出现错误。我已经在我的机器上安装了 go-my-sql 驱动程序,但错误仍然存在。我使用 xampp 进行本地托管,这是程序块。
package model
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
type table interface {
name() string
field() ([]string, []interface{})
}
func connect(username string, password string, host string, database string) (*sql.db, error) {
conn := fmt.sprintf("%s:%s@tcp(%s:3306)/%s", username, password, host, database)
db, err := sql.open("mysql", conn)
return db, err
}
func createdb(db *sql.db, name string) error {
query := fmt.sprintf("create database %v", name)
_, err := db.exec(query)
return err
}
func createtable(db *sql.db, query string) error {
_, err := db.exec(query)
return err
}
func dropdb(db *sql.db, name string) error {
query := fmt.sprintf("drop database %v", name)
_, err := db.exec(query)
return err
}
could not import github.com/go-sql-driver/mysql (no required modules provides package "github.com/go-sql-driver/mysql")
发生的事情的屏幕截图
正确答案
您的 ide 没有向您展示全貌。通过在命令行上运行 go run main.go (或您拥有的任何主文件),您可以看到与在 ide 上看到的相同错误,但有一些额外的错误:
$ go run main.go
main.go:7:5: no required module provides package github.com/go-sql-driver/mysql; to add it:
go get github.com/go-sql-driver/mysql
通过发出建议的命令 go get github.com/go-sql-driver/mysql,您将获得添加到 go.mod 文件的依赖项,并且包的内容将下载到您的计算机。 p>
您的下一次执行将起作用:
$ go run main.go hello world
我对您的代码进行了一些小的修改以使其正常工作,为了完整起见,我将它们添加到此处:
- 我使用了相同的源,但将
package名称更改为main。 - 我在文件底部添加了一个 main 函数:
func main() {
fmt.Println("Hello world")
_, err := Connect("username", "password", "localhost", "db")
if err != nil {
panic(err)
}
}
- 我已保存到名为
main.go的文件 - 我已通过运行
go mod init test和go mod tidy初始化了go.mod文件,然后执行了答案开头所述的步骤。
理论要掌握,实操不能落!以上关于《从 github 存储库导入 go-sql-driver/sql 时出错》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注米云公众号吧!
