前面有提到,我开发了一个BTS自动交易的程序,是用Python语言完成的。以前没有使用过Python语言,也是边学边用。相对来说,我对C#语言比较熟悉一些,在使用C#语言时经常用它的一个偏门语法:goto语句。goto语句大家应该都比较了解了,就是跳转语句,汇编语言里面比较常见。现代软件工程中往往不推荐使用goto语句,因为代码逻辑复杂,出问题不好定位。
但是我发现在一些操作类的过程性代码或者状态机代码中,goto语句要比if...else...语句好用多了,看起来也更容易理解一些。我的使用习惯是主场景使用Action1、Action2...Action-n等主要操作序列,对于分支场景,就简单的使用goto语句跳转到别处,感觉很舒服、很简单。
只是Python语言原生是不支持goto语句的,我找了一个库,试用了一下,感觉还很爽,贴出来给大家分享:
from goto import with_goto
@with_goto
def Test():
label .start
print('start...')
label .step1
print('step1')
label .step2
print('step2')
goto .start
关键点: