go mod init
的動作mkdir modules_example/greeting
cd greeting
go mod init modules_example/greeting
.go
檔 把下列這串code貼到你的檔案中package greetings //宣告一個名為greeting的package
import "fmt" //把fmnt包進來
// 一個回傳型態是 string ,傳入參數名稱是 name 型態是 string 的函數
func Greet(name string) string {
//下面這一行 會輸入你的字串並輸出
message := fmt.Sprintf("Hi, %v. Welcome!", name)
return message
}
在第一行中你宣告了一個名叫greeting
package 然後接下來我們要去編寫這個 package
要引入fmt
的原因是因為Sprintf屬於fmt
這個 package
在下面第六行 function call 的地方 你宣告了一個名為 Greet 的函數
在第八行中我們使用了:=
這個運算元 在 Go 中:=
是來做為初始化和宣告變數的運算元(賦值時仍然用等號)
可能看到這裡你還有些小疑惑 下面一段會在講解一些更詳細的東西
:=
//當需要用到已存在的值去接受多個回傳值
response, k := 3 , 4
response, l := 1 , 2
//就算response在第一次已被使用 在第二行我們依然可以使用:=來覆蓋掉以前的值
//賦予不同型別的錯誤
message := fmt.Sprintf("Hi, %v. Welcome!", name)
message = 3 //型別會出錯 因為剛剛已經把他變成字串型別了
math.Pi
來引入他 假如我今天把它變成小寫的 pi 他就不會有用package main
import (
"fmt"
"math"
)
func main() {
fmt.Println(math.Pi) //改成小寫會會出unexported
}
接下來嘗試在主函式呼叫自己的函式吧