函數從1990年最初的發展,有著不可違抗的規定,開發者必需遵循少數的幾條法則撰寫。現今因為CPU效能的提高,把這些規則全交由CPU判斷及編譯,加速了程式的開發,同時也發展了更多的規則。這對初學者並非是個好現像,因為你要背及要理解的規則更多了,更不好學。
函數簡介
若某一段程式碼, 會用到一次以上, 就必需將程式獨立出來, 成為一個副程式, 這個副程式就叫作函數.
如下的程式碼中, 分別是
1~100的總合計算,以及 1~50的總合計算
fun main(args:Array<String>){
var sum=0;
for(i in 1..100){
sum+=i;
}
println("1~100的總合為 : %d".format(sum))
sum=0;
for(i in 1..50){
sum+=i;
}
println("1~50的總合為 : %d".format(sum))
}
上述程式碼可以改成如下
fun main(args:Array<String>) {
println("%d~%d的總合 : %d".format(1, 100, sum(1, 100)));
println("%d~%d的總合 : %d".format(1, 50, sum(1, 50)));
}
fun sum(s:Int, e:Int):Int{
var sum=0;
for(i in s..e){
sum+=i;
}
return sum;
}
副程式與函數
30幾年前, 因為basic出來亂了程式這湖春水. 所以必需特別說明副程式跟函數其實不一樣. 怎麼不一樣呢? basic的副程式是沒有傳回值的, 但函數有傳回值.
只是時過境遷, basic也絕跡江湖了, 所以也就不太介意這二者之間的不同處了.
