Я учусь go, и во время "тура по Go" я нашел следующий фрагмент кода:
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.")
}
}
Я хочу знать, что я делаю , поэтому я открыл документацию, касающуюся пакета "time".
При выполнении t := time.Now()
согласно документации я получаю тип struct Time (https://golang.org/pkg/time/#Now), но затем , чтобы получить час мы делаем t.Hour()
. Я бы понял, если бы t был экземпляром объекта Time, а Hour - методом этого объекта, но это не oop, а t - это тип, и я ожидал бы вызвать его как time.Hour(t)
, чтобы получить час.
Не могли бы вы немного рассказать о том, почему t.Hour()
работает?
Спасибо! / Miguel