我正在学习围棋,在进行“围棋之旅”时,我发现了以下代码:
package main
import (
"fmt"
"time"
)
func main() {
t := time.Now()
switch {
case t.Hour() < 12:
fmt.Println("Good morning!")
case t.Hour() < 17:
fmt.Println("Good afternoon.")
default:
fmt.Println("Good evening.")
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道我在做什么,所以我打开了有关“时间”包的文档。
在做时t := time.Now(),根据文档,我得到一个类型 struct Time ( https://golang.org/pkg/time/#Now ),但是,为了得到我们做的小时t.Hour()。我会理解如果 t 是对象 Time 和 Hour 的一个实例,来自该对象的方法,但这不是 oop,并且 t 是一种类型,我希望像time.Hour(t)获取小时一样调用它。
你能告诉我为什么t.Hour()有效吗?
谢谢!/米格尔