This is a creation in Article, where the information may have evolved or changed.
Package Main
Import (
"Database/sql"
"FMT"
_ "Github.com/mattn/go-sqlite3"
"Log"
"Net/http"
)
Func SayHello (w http. Responsewriter, R *http. Request) {
Fmt. fprintf (w, "Hello world!")
}
Func GetUser (w http. Responsewriter, R *http. Request) {
DB, err: = SQL. Open ("Sqlite3", "./foo.db")
If err! = Nil {
Log. Fatal (ERR)
}
Defer db. Close ()
Rows, err: = db. Query ("SELECT * from Users where userid=1")
If err! = Nil {
Log. Fatal (ERR)
}
Defer rows. Close ()
var userId int
var uname string
rows. Next ()
rows. Scan (&userid, &uname)
format: = ' userId:%d uname:%s '
out: = FM t.sprintf (format, userId, uname)
//fmt. fprintf (W, uname)
fmt. fprintf (W, Out)
}
Func main () {
http. Handlefunc ("/", SayHello)
http. Handlefunc ("/user", getUser)
err: = http. Listenandserve (": 8880", nil)
if Err! = Nil {
log. Fatal ("Listenandserve:", err.) Error ())
}
}