2013-08-15 9 views
6

Pracuję w projekcie i przy użyciu pakietu "database/sql" w trybie go. I chcę użyć struct "DB", który deklaruje w pakiecie "database/sql" jako argument do mojego func, więc mogę użyć zwracanej wartości przez sql.Open() i jako argument mojej funkcji. Czy to możliwe? Kody są poniżej:Jak używać struktury pakietu importu jako typu w go

package main 

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

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

    db, err := sql.Open("mysql", "user:[email protected]/dbname") 

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

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

Ten kod zgłasza błąd "undefined: DB".

Odpowiedz

17

Musisz użyć kwalifikator dla jednostek importowanych - nazwę pakietu, z którego „name” pochodzi z:

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

To działa, dzięki za odpowiedź. – xsuii

Powiązane problemy