阻止主线程退出

  示例一

package main

import (
   "fmt"
   "time"
)

func main() {
   // 启动协程
   go func() {
      // 使用死循环每秒打印一次当前时间
      for {
         fmt.Println(time.Unix(time.Now().Unix(), 0).Format("2006-01-02 15:04:05"))
         time.Sleep(time.Second) // 休眠1秒
      }
   }()

   select {} // 阻止主线程退出
}

  示例二

package main

import (
   "fmt"
   "net/http"
)

func main() {
   // 在浏览器地址栏输入『http://IP地址:8080/demo』访问
   http.HandleFunc("/demo", func(writer http.ResponseWriter, request *http.Request) {
      _, _ = writer.Write([]byte("PHP是世界上最好の语言"))
      fmt.Println("处理请求完成")
   })

   // 以协程方式启动HTTP服务
   go func() {
      _ = http.ListenAndServe(":8080", nil)
   }()

   select {} // 阻止主线程退出
}

Copyright © 2024 码农人生. All Rights Reserved