<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ### 日志 **logrus** ```go package main import ( "github.com/sirupsen/logrus" "os" ) func init() { logrus.SetFormatter(&logrus.JSONFormatter{ TimestampFormat: "2006-01-02 15:04:05", }) logrus.SetOutput(os.Stdout) logrus.SetLevel(logrus.InfoLevel) } func main() { logrus.WithFields(logrus.Fields{ "animal": "walrus", }).Info("A walrus appears") logrus.Info("hello") } ``` - 打印效果 ```bash {"animal":"walrus","level":"info","msg":"A walrus appears","time":"2020-11-22 11:34:52"} {"level":"info","msg":"hello","time":"2020-11-22 11:34:52"} ``` ### 定時任務 **robfig** ```go package main import ( "fmt" "github.com/robfig/cron/v3" "log" "time" ) func main() { TimeTask() } // TimeTask 定時任務 // cron.New() 分鐘級別定時任務 // cron.New(cron.WithSeconds()) 秒級定時任務 func TimeTask() { c := cron.New(cron.WithSeconds()) // 定時表 cronTab := "*/3 * * * * ?" id, err := c.AddFunc(cronTab, task1) if err != nil { log.Println(err) } //開啟任務 c.Start() //任務id fmt.Println(id) time.Sleep(time.Minute * 2) //測試使用 } // task1 需要執行的任務 func task1() { now := time.Now().Format("2006-01-02 15:04:05") fmt.Println("定時任務執行時間", "-->", now) } ``` ### 文件上傳 ```go package main import ( "io" "io/ioutil" "log" "net/http" "github.com/julienschmidt/httprouter" ) const ( MAX_UPLOAD_SIZE = 1024 * 1024 * 20 //50MB ) func main() { r := RegisterHandlers() http.ListenAndServe(":8080", r) } //RegisterHandlers ... func RegisterHandlers() *httprouter.Router { router := httprouter.New() router.POST("/upload", uploadHandler) return router } func uploadHandler(w http.ResponseWriter, r *http.Request, p httprouter.Params) { r.Body = http.MaxBytesReader(w, r.Body, MAX_UPLOAD_SIZE) if err := r.ParseMultipartForm(MAX_UPLOAD_SIZE); err != nil { log.Printf("File is too big") return } file, headers, err := r.FormFile("file") if err != nil { log.Printf("Error when try to get file: %v", err) return } //獲取上傳文件的類型 if headers.Header.Get("Content-Type") != "image/png" { log.Printf("只允許上傳png圖片") return } data, err := ioutil.ReadAll(file) if err != nil { log.Printf("Read file error: %v", err) return } fn := headers.Filename err = ioutil.WriteFile("./video/"+fn, data, 0666) if err != nil { log.Printf("Write file error: %v", err) return } w.WriteHeader(http.StatusCreated) io.WriteString(w, "Uploaded successfully") } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看