5.2 死循环

本篇学习 Go 死循环的写法与典型用途,并能在循环中结合时间间隔控制执行频率。

字数 308 字

死循环

概念说明

死循环是“没有自然结束条件”的循环。
在 Go 中通常使用 for {} 表示。
它常用于服务监听、消息消费、定时轮询等长期运行场景。

语法/规则

  1. for {} 会一直执行,除非在循环内 breakreturn 或程序退出。
  2. 死循环里通常要有“节流”逻辑(如 time.Sleep),避免无意义高频占用 CPU。
  3. 如果业务上需要结束循环,必须提供明确退出条件。

每秒打印当前时间示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
package main

import (
	"fmt"
	"time"
)

func main() {
	for {
		time.Sleep(1 * time.Second)
		fmt.Println(time.Now().Format("2006-01-02 15:04:05"))
	}
}

输出结果(示例,时间会持续变化):

1
2
3
2026-04-10 20:20:01
2026-04-10 20:20:02
2026-04-10 20:20:03

常见错误

  1. 在死循环里没有 Sleep 或阻塞操作,导致 CPU 占用过高。
  2. 误把死循环用于本应有限次数的任务,导致程序无法结束。
  3. 写了退出条件却永远不可能满足,等价于意外死循环。
使用 Hugo 构建
主题 StackJimmy 设计 由 Hobin 魔改
载入天数...载入时分秒...
发表了 0 篇文章 · 发表了 46 篇笔记 · 总计 2 万 5 千字(其中笔记 25104 字)