有感而发,程序员这个行业,真的是一天不跑,不学习,就会被拍死在沙滩的行业 。熬夜,加班哪都小事。什么删库跑路基本操作(没有删除跑路的童鞋,不是好童鞋啊。)。哈哈。
咱今天就说这个学习新知识,学了不用,三天就忘。三天不写,重写吐血!!!(医院的wifi,还是不错的哈~~)
做个实例来,稳固记录下学的知识应用吧。
从本篇文章开始逐步带大家使用go gin web框架来做一个后台管理系统。本篇文章是一系列的,连续博文。大家可以关注后,持续观看。
前端代码使用开源代码 x-admin ,前端大拿看到不要笑。。。里面的调用接口用的纯js.
首先要在gopath 下载gin 框架,这个我就不在这里演示了。
创建启动文件main.go, 下面放出代码:
这里头包含加载 路由控制管理器router的文件加载。这个在后面放出来。
还包括启动了一个定时器任务。五秒打印一次。
先放出来几张效果图,提升下大家的感兴趣度数,哈哈:
package main
import (
"flag"
"fmt"
"github.com/go-ini/ini"
"github.com/robfig/cron"
"myProject/log"
"myProject/myProjectUtils"
"myProject/routers"
"os/exec"
"runtime"
"time"
)
func main() {
log.Info(time.Now().Format("2006-01-02 15:04:05") + "strart ......")
flag.Parse()
cfg, err := ini.Load("conf/app.ini")
if err != nil {
panic(err)
}
myProjectUtils.Config = cfg
router := routers.InitRouter()
//定时器应用
cronInit()
port := cfg.Section("http").Key("port").String()
err1 := router.Run(port)
if err1 != nil {
panic(err1)
}
log.Info("strart ......")
//调用浏览器打开页面
//OpenUrl("#34;)
//browser.OpenURL("#34;)
}
var commands = map[string]string{
"windows": "cmd /c start",
"darwin": "open",
"linux": "xdg-open",
}
func OpenUrl(uri string) {
run, _ := commands[runtime.GOOS]
exec.Command(run, uri).Start()
}
//定时器
func cronInit() {
go func() {
crontab := cron.New()
crontab.AddFunc("*/20 * * * *", myfunc) //5S
crontab.Start()
}()
}
// 加个定时器
func myfunc() {
fmt.Println("5秒打印一次!!")
}
未完
需要源代码的可私信我获取。