package main import ( "fmt" "net/http" "os" "time" "github.com/gin-gonic/gin" ) func main() { r := gin.Default() r.GET("/", func(c *gin.Context) { username := readInputs() c.String(http.StatusOK, fmt.Sprintf("username is %s\n", username)) err := writeOutputs("time", time.Now().Format("2006-01-02 15:04:05")) if err != nil { c.String(http.StatusInternalServerError, fmt.Sprintf("Error: %v\n", err)) return } }) r.Run() // 默认在 0.0.0.0:8080 启动服务 } func readInputs() string { username := os.Getenv("INPUT_USERNAME") return username } func writeOutputs(k, v string) (err error) { msg := fmt.Sprintf("%s=%s", k, v) outputFilepath := os.Getenv("GITHUB_OUTPUT") f, err := os.OpenFile(outputFilepath, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) if err != nil { return } defer func() { if cErr := f.Close(); cErr != nil && err == nil { err = cErr } }() if _, err = f.Write([]byte(msg)); err != nil { return } return }