在接觸一門新的編程語言後,瞭解如何對變量賦值幾乎是第一步。有了變量,才能夠對變量進行數學運算或者邏輯判斷,將調用函數獲得的結果存入變量也須要賦值操做。可見賦值運算符的重要性。編程
但不少 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。