Here is my source code learning purpose
package main
import (
"fmt"
"net/http"
"html/template"
_ "github.com/mattn/go-sqlite3"
"database/sql"
)
type Page struct {
Name string
DBStatus bool
}
func main() {
templates := template.Must(template.ParseFiles("templates/index.html"))
db, _ := sql.Open("sqlite3", "dev.db")
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
p := Page{Name: "Gopher", DBStatus: false}
if name := r.FormValue("name"); name != "" {
p.Name = name
}
p.DBStatus = db.Ping() == nil
if err := templates.ExecuteTemplate(w, "index.html", p); err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
}
db.Close()
})
fmt.Println(http.ListenAndServe(":8080", nil))
}
How can I fix this problem?
I am using macOS
and here is my go env
go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/kanel/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/tc/r8mt_k1d5c1fzvhks098y65r0000gn/T/go-build126493561=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
Kanels-MacBook-Pro:~ kanel$