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 .
之後,輸入空值,結果要如下所示,代表你成功處理了這個錯誤