函式是程式的基本組成部分。 AWK允許我們定義自己的函式。一個大專案可以分為多個函式並且每個函式可以寫/獨立測試。它提供了可重用性的程式碼。
下面給出的是使用者自定義函式的一般格式為:
function function_name(argument1, argument2, ...) { function body }
在上面的語法:
function_name是使用者定義函式的名稱。函式名稱應以字元的字母並且其餘部分可以是數位,字母或下劃線的任意組合。 AWK的保留字不能被用作函式名稱。
函式可以接受以逗號分隔的多個引數。引數不是強制性的。我們也可以建立一個使用者定義的函式不帶任何引數。
函式體由一個或多個AWK語句組成。
讓我們寫兩個函式計算最小和最大數,從main函式中呼叫這些函式。我們functions.awk檔案是這樣的:
# Returns minimum number function find_min(num1, num2) { if (num1 < num2) return num1 return num2 } # Returns maximum number function find_max(num1, num2) { if (num1 > num2) return num1 return num2 } # Main function function main(num1, num2) { # Find minimum number result = find_min(10, 20) print "Minimum =", result # Find maximum number result = find_max(10, 20) print "Maximum =", result } # Script execution starts here BEGIN { main(10, 20) }
在執行上面的程式碼後,會得到以下結果:
Minimum = 10 Maximum = 20