Go init 項目初始化建置

Go init 項目初始化建置
要啟動一個go專案時 通常需要些步驟來建立,所以才有了這篇文章做個紀錄 。

套件名稱 介紹 Link
swagger api文檔生成器 Github
Air 熱編譯神器 Github

環境配置 Dockerfile

FROM golang:1.23-alpine3.20

# 指定台灣時區
ENV TZ=Asia/Taipei

# 安裝基本工具
RUN apk add --no-cache \
    curl \
    tzdata \
    && rm -rf /var/cache/apk/*

# 安裝工具
RUN go install github.com/air-verse/air@latest && \
    go install github.com/swaggo/swag/cmd/swag@latest

WORKDIR /app

# 用於gin
EXPOSE 8080

# 默認的啟動命令
CMD ["air", "-c", ".air.toml"]

Go init(如果需要)

go mod init [專案名稱]
go tidy

SHELL RUN

# 建構
docker build -t kgo . 

# 運行
docker build -t go-init ./

# 若第一次運行 無啟動 .air.toml  
docker run -it --rm -v $(pwd):/app -p 18080:8080 go-init sh

# 啟動
docker run -it --rm -v $(pwd):/app -p 18080:8080 go-init 

工具介紹

API文檔案生成器 - Swagger

只要將api上方寫上註解,此時 swag 就會依照 main.go 開始去撈取api註解 變成文檔很方便。

  1. 根目錄創建一個main.go 並且裡面 只要引入package main即可其餘不用。
# main.go
package main.go
  1. swag init

會自動創建swag 儲存目錄 並且產生一個配置檔

熱編譯套件 - Air

在開發時 若需要熱更新時 就需要這樣到一個工具,可以在開發時 不用在手動編譯。

  1. 初始化
    運行完 air init 會自動創建一個名為 .air.toml 的配置文件,而該文件是設定air 設定檔案。

運行 air -c .air.toml

運行後會創建一個暫時文件 而air 會時時監控,若更新代碼則會自動熱更新