Databazat

Për të punuar me MySQL, së pari duhet të shkarkohet drajveri përkatës nga Github:

go get github.com/go-sql-driver/mysql

 1 package main
 2 
 3 import (
 4 	"database/sql"
 5 	"fmt"
 6 	_ "github.com/go-sql-driver/mysql"
 7 	"log"
 8 )
 9 
10 func main() {
11 	db, err := sql.Open("mysql", "root:@tcp(127.0.0.1:3306)/markdown")
12 	defer db.Close()
13 	if err != nil {
14 		log.Fatal(err)
15 	}
16 
17 	var id int
18 	var book_title string
19 
20 	rows, err := db.Query("SELECT id, book_title FROM books ORDER BY id")
21 	for rows.Next() {
22 		rows.Scan(&id, &book_title)
23 		fmt.Printf("ID: %v,  %v\n", id, book_title)
24 	}
25 }

https://play.golang.org/p/3l4xo1BS9y_s

Rezultati:


ID: 1, Go për fillestarë
ID: 2, PHP dhe MySQL për fillestarë
ID: 3, Laravel për fillestarë

Leximi i radhëve të tabelës ne përdorimin e struct/tag

 1 package main
 2 
 3 import (
 4 	"database/sql"
 5 	"fmt"
 6 	_ "github.com/go-sql-driver/mysql"
 7 	"log"
 8 )
 9 
10 type Fushat struct {
11 	ID      int    `json:"id"` // Emertimi i fushes ne tabele
12 	Titulli string `json:"book_title"` // Emertimi i fushes ne tabele
13 }
14 
15 func main() {
16 	db, err := sql.Open("mysql", "root:@tcp(127.0.0.1:3306)/markdown")
17 	defer db.Close()
18 	if err != nil {
19 		log.Fatal(err)
20 	}
21 
22 	results, err := db.Query("SELECT id, book_title FROM books ORDER by id")
23 	if err != nil {
24 		panic(err.Error())
25 	}
26 
27 	for results.Next() {
28 		var fushat Fushat
29 		err = results.Scan(&fushat.ID, &fushat.Titulli)
30 		if err != nil {
31 			panic(err.Error())
32 		}
33 		fmt.Printf("%v %v\n", fushat.ID, fushat.Titulli)
34 	}
35 }

https://play.golang.org/p/1FMj5NKuGxn

Rezultati:

1 1 Go për fillestarë
2 2 PHP dhe MySQL për fillestarë
3 3 Laravel për fillestarë

Drivers:

https://github.com/golang/go/wiki/SQLDrivers