如何使用我的导入包的结构作为go中的类型

时间:2013-08-15 15:45:36

标签: go

我在一个项目中工作,并在go中使用“database / sql”包。我想使用在“database / sql”包中声明的struct“DB”作为我的func的参数,所以我可以使用sql.Open()的返回值和我的func的参数。有可能吗?代码如下:

package main

import (
    "database/sql"
    "fmt"
    _ "github.com/Go-SQL-Driver/MySQL"
)

func main() {
    var table string = "tablename"

    db, err := sql.Open("mysql", "user:password@/dbname")

    // read data from database
    read(db, table)
}

func read(db *DB, table string) {
    // read
}

此代码抛出“undefined:DB”错误。

1 个答案:

答案 0 :(得分:19)

您必须对导入的实体使用限定符 - “名称”来自的包名称:

func read(db *sql.DB, table string)