当初敲一段简单代码的时候卡住,满脑子都在纠结switch是什么意思,翻了好几个网页,每个地方讲的用法看着都不一样,越看越乱。

一开始以为它就是个普通开关,和家里墙上那种通电断电的按钮是一回事,复制别人写好的一段示例进去跑,结果程序直接报错,弹窗跳出来一大串看不懂的提示,盯着屏幕愣了半天。那时候分不清日常英文里的解释和编程语法里的用法,混在一起之后,脑子里面一团浆糊,一会想到游戏机,一会想到分支判断,来回打转。

朋友在旁边看我折腾,随口说了一句,不同场景下这个词完全不是一回事。

最先接触到的是游戏机那个含义,身边不少人都拿它玩单机,插上手柄窝在沙发上玩,这个印象先入为主了,所以看到代码里突然冒出这个单词,第一反应根本没往语句结构上面想。后来试着分开记,日常用词、硬件产品、编程关键字,三种情况拆开看,可真要自己动手写的时候,还是习惯性串在一起。

照着网上一段示例改自己的代码,把if判断全部替换成这个分支语句,写完运行,发现部分条件根本触发不了,结果和预想的差很远。找了好久才留意到漏掉break,匹配成功之后会继续往下穿透执行,连着跑了后面好几个分支,输出的内容乱七八糟。那会才慢慢感受到,它不是单纯替代if的东西,有自己一套固定的运行规则,不是随便替换就能用。

也在别的地方见过这个词,电器参数表里面标注switch,代表切换按键,用来切换模式,和代码里的逻辑又不一样。同一个单词,放在不同文本里面,指向完全不同的东西,没有统一固定的解释,要看当下所在的场景。

那段时间没事就随手记,看到一次就标注一次对应的场景,有时候刷短视频看到主机相关内容,看到这个词,下意识就想起代码里踩过的那个穿透问题,有点哭笑不得。试过把所有释义抄在记事本上,可真到要用的时候,还是会先确认上下文,不敢直接下定论。

有一回和别人聊起这个,对方只知道游戏机,完全没听过编程里的用法,两个人对着同一个单词,说的根本不是同一个东西,聊了半天才发现偏差。

我自己到现在也没法一口气把所有释义全部说全,只能碰到的时候再去对应场景理解。这次折腾下来只是我个人的感受,别人接触这个词的顺序不一样,感受自然也会不一样,有人先接触编程,有人最先知道的是游戏机。

关掉编辑器的时候,屏幕上还留着那段没改完的分支代码。