在接触一门新的编程语言后,了解如何对变量赋值几乎是第一步。有了变量,才能够对变量进行数学运算或者逻辑判断,将调用函数获得的结果存入变量也须要赋值操做。可见赋值运算符的重要性。编程
但不少 AHK 初学者(包括其余编程语言的老手)惊奇地发现 AHK 有两种赋值运算符,= 和 :=,并且它们的用法竟然不同。一时摸不到头脑,甚至对 AHK 顿生反感。固然这不能怪用户,赋值操做如此混乱的语言,恐怕无出其右了。但若是掌握了,也会发如今赋值操做上,AHK 要比其余语言更为灵活和方便。微信
先介绍其中相对好理解的 := 运算符。编程语言
:= 和其余语言的 = 用法基本一致,来看几个例子:函数
a := 123 b := 456.789 c := "text" d := a e := a . c
能够看到若是将变量赋值成整数、浮点数、字符串,直接写就行了。咱们也能够把一个已经存在的变量赋值给一个新变量。这和其余语言中 = 的用法并没有二致。.(点运算符)用来拼接字符串,这个在后续文章中也会单独介绍。命令行
若是咱们将一个不存在的变量赋值给一个新变量,像这样:code
f := abc
那么 f 将是一个空字符串,也就是和这样效果同样:ip
f := ""
而后咱们再来看 =。字符串
= 后边的内容所有被认为是字符串,看几个例子:数学
a = 123 b = 456.789 c = text d = a e = %a% f = %a%456
注意这里边的 a 和 b 已经不是整数和浮点数了,而全是字符串。d 的值也不是 123,而是字符串 a。那么是否是 = 只能用来将一个字符串常量赋值给一个变量呢?若是这样的话,= 基本也没有存在的必要了。咱们能够看下 e = %a%,里边有一个奇怪的 % 符号(% 也是 AHK 中的大坑,之后我会专门写文章介绍),%a% 的意思是取 a 变量的值,因此 e 的值是字符串 123,同理 f 的值是字符串 123456。是否是 = 比 := 稍微难理解一些?变量
另外 = 还有一些高级用法,好比将多行文本赋值给一个变量:
a = ( 123 456 789 )
在括号中的多行文本会被赋值给 a,这在某些须要赋值大段文字的场景是很是方便的。
用 = 赋值空字符串也更加简洁:
a =
(其实 a := 这样用也是能够的,虽然看起来怪怪的。)
此外在某些场景只能用 = 赋值,好比上一篇文章中处理命令行参数的场景:
argc = %0% argv1 = %1%
既然 = 和 := 在多数状况均可以实现相同的功能,什么场景应该使用 =,什么场景应该使用 := 呢?
这个并无明确的规定,能够因人而异,根据本身的习惯来。但尽可能先后统一,以避免给本身和别人带来麻烦。
通常来讲,使用 := 是更加严谨的,这也是和其余编程语言的用法对齐,更易于被接受。但也并非弃 = 而不用,在某些场景,好比赋值大段文字,= 仍是很是方便的。
关于 = 的用法,此文只是简单介绍几个例子,还有更多的用法期待你们发掘。
付费解决 Windows、Linux、Shell、C、C++、AHK、Python、JavaScript、Lua 等领域相关问题,灵活订价,欢迎咨询,微信 ly50247。