登录
首页 >  Golang >  Go问答

从 github 存储库导入 go-sql-driver/sql 时出错

来源:stackoverflow

时间:2024-04-27 20:45:37 425浏览 收藏

积累知识,胜过积蓄金银!毕竟在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 文件的依赖项,并且包的内容将下载到您的计算机。

您的下一次执行将起作用:

$ 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 testgo mod tidy 初始化了 go.mod 文件,然后执行了答案开头所述的步骤。

理论要掌握,实操不能落!以上关于《从 github 存储库导入 go-sql-driver/sql 时出错》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>