這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
構建入口main主檔案
簡潔之道
為了儘可能的凝練, 我們在入口中, 只需要載入核心組件即可
package mainimport ( // 引入項目的路由 "github.com/gohouse/kuaixinwen/router" // 引入驅動 . "github.com/gohouse/kuaixinwen/bootstrap" // fmt包 "fmt")func main() { fmt.Println("start...,port:8888, visit: http://localhost:8888") // 載入資料庫 defer DB.Close() // 載入路由 router.Run(App.HttpServer) // 啟動web服務 err := App.StartServer(8888) if err!=nil{ fmt.Println(err) }}
到這裡, main.go
檔案已經全部完成, 文中有對應的注釋, 另外, 一些對象, 我們需要對他做一些說明:
main
函數的
DB
和
App
這兩個是
bootstrap
驅動之後的gorose和dotweb對象, 具體如下所示
main
包中引入的 bootstrap
目錄如下說明
/bootstrap/bootRouter.go
檔案
這個是路由驅動, 網站的所有請求驅動, 都是由他來完成
內容非常簡單:
package bootstrapimport ( "github.com/devfeel/dotweb")var App *dotweb.DotWebfunc init() { //init DotApp App = dotweb.New() //set log path App.SetLogPath("../log")}
/bootstrap/bootDatabase.go
檔案
在這裡統一載入資料庫配置和驅動, 如需變動資料庫相關資訊, 只需要維護這一個驅動即可
內容非常簡單:
package bootstrapimport ( // 引入gorose "github.com/gohouse/gorose" // 引入資料庫配置 "github.com/gohouse/kuaixinwen/config" // 引入mysql驅動, 這裡選擇對應的資料庫驅動即可 _ "github.com/go-sql-driver/mysql")// 資料庫連結化物件var DB gorose.Connectionfunc init() { var err error // 裝配資料庫資訊, 並載入database // config.DbConfig 為資料庫配置資訊 DB,err = gorose.Open(config.DbConfig) if err!=nil{ panic("資料庫連結失敗") } errs := DB.Ping() if errs!=nil{ panic("資料庫連結失敗") }}
對應的 /config/database.go
的配置如下
package configvar DbConfig = map[string]interface{}{ "default": "mysql_dev", // 預設資料庫配置 "SetMaxOpenConns": 300, // (串連池)最大開啟的串連數,預設值為0表示不限制 "SetMaxIdleConns": 10, // (串連池)閑置的串連數, 預設-1 "mysql_dev": map[string]string{// 定義名為 mysql_dev 的資料庫配置 "host": "192.168.200.248", // 資料庫地址 "username": "gcore", // 資料庫使用者名稱 "password": "gcore", // 資料庫密碼 "port": "3306", // 連接埠 "database": "test", // 連結的資料庫名字 "charset": "utf8", // 字元集 "protocol": "tcp", // 連結協議 "prefix": "", // 表首碼 "driver": "mysql", // 資料庫驅動(mysql,sqlite,postgres,oracle,mssql) },}
到這裡, 驅動全部完成
main
中引入的 路由 router
見下一節介紹
本項目源碼: https://github.com/gohouse/kuaixinwen