Golang 编程日记01

77 阅读1分钟

Stage1

  • go mod init 项目名
  • 创建 main.go
  • 创建项目目录: 根据自己风格命名吧
    • config 配置文件
    • controller 路由
    • service 服务
    • models 实体/结构体
    • pkg 各种包
      • utils 工具类
      • e 各种响应码/响应信息
      • response 封装响应方法/结构体
    • docs 存放 swagger 文件
    • static 存放静态文件
  • 安装 gin 框架依赖
    • go get -u github.com/gin-gonic/gin
    • 启动 go-gin Hello World
    • go run main.go 访问 ip:8080 => msg:helloworld
package main

import (
   "fmt"
   "github.com/gin-gonic/gin"
   "log"
   "net/http"
)

func main() {
   app := gin.New()
   app.Use(gin.Logger())
   app.Use(gin.Recovery())
   s := &http.Server{
      Addr:           fmt.Sprintf(":%d", 8080),
      Handler:        app,
      MaxHeaderBytes: 1 << 20,
   }
   app.GET("/", func(c *gin.Context) {
      c.JSON(http.StatusOK, gin.H{
         "msg": "Hello World",
      })
   })
   if err := s.ListenAndServe(); err != nil {
      log.Fatalln("服务启动失败:", err)
   }
}