昨天已經做了第一之程式 Hello World, 今天想先介紹函式呼叫. 函式呼叫概念上就是把好幾行指令包在一個函式裡面一起執行, 對寫程式來說算基本且方便的功能, 就算在古早的組合語言裡面都有這個觀念呢, 一起來看看函式呼叫底是怎麼回事吧!
package main // 告訴編譯器這個檔案這是程式進入點, 一個資料夾內只能有一個main(稍後詳述)
import ( // 引入fmt模組 (format print 就是用來顯示字串的)
"fmt"
)
func main(){ // 程式進入點的函式
fmt.Println("hello world") // 印出 hello world
}
修改 main.go 如下
package main
import (
"fmt"
)
func sayHello(){
fmt.Println("hello world")
}
func main(){
sayHello()
}
執行程式
go run .
預期結果:會看到下面小黑視窗印出 hello world
說明:func sayHello() 的語法是宣告一個叫做sayHello的function, 內容為{}裡面, 目前只有fmt.Println("hello world")而已, 在main裡面, sayHello()的語法是呼叫 sayHello讓他執行, 所以小黑窗會印出 hello world
修改 main.go
package main
import (
"fmt"
)
func adder(a int, b int) {
fmt.Println(a + b)
}
func sayHello(){
fmt.Println("hello world")
}
func main(){
// sayHello()
adder(3, 5)
}
執行結果:印出8
說明:
return值是程式設計裡面很重要的觀念, adder函式的任務是用來計算 a + b, 接著可以透過return值把這個答案帶出去, 因為編譯器會在執行完adder函式之後, 就把adder函式標記起來等著資源回收(畢竟記憶體是寶貴的資源), 所以必須透過 return 關鍵字, 將 a+b的答案紀錄起來, 然後給其他函式用
package main
import (
"fmt"
)
func adder(a int, b int) int {
return a + b
}
func sayHello(){
fmt.Println("hello world")
}
func main(){
// sayHello()
fmt.Println( adder(3, 5) )
}
說明:
本篇講了函式宣告跟呼叫, 因為這對程式語言來說算很重要的一個語法概念, 後面會不斷重複使用