greet.go 吧 我們要來對她動一點手腳package greeting
import (
"errors"
"fmt"
)
func Greet(name string) (string, error) {
if name == "" {
return "", errors.New("empty name")
}
message := fmt.Sprintf("Hi, %v. Welcome!", name)
return message, nil
}
greet.go 中 多 import errors 的 package(errors 在 go 中是拿來處理錯誤的 package)name 為空的情況
empty name 的錯誤寫完之後記得在該資料夾內
go mod tidy一下 不然會抓不到errors喔
package main
import (
"fmt"
"log" // 引入 log package
"modules_example/greeting"
)
func main() {
log.SetPrefix("greeting: ")
log.SetFlags(0)
message, err := greeting.Greet("")
if err != nil {
log.Fatal(err)
}
fmt.Println(message)
}
greet.go, 所以前墜設成 Greet 方便辨認是從哪一個 package 出來的Fatal 來印出這個error這裡一樣要
go mod tidy喔
go run . 之後,輸入空值,結果要如下所示,代表你成功處理了這個錯誤