Function 为什么我可以从键入Go调用func?
我正在学习围棋,在围棋之旅中,我发现了以下代码:Function 为什么我可以从键入Go调用func?,function,go,methods,Function,Go,Methods,我正在学习围棋,在围棋之旅中,我发现了以下代码: 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.")
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.")
}
}
我想知道我在做什么,所以我打开了关于时间包的文档
现在,根据文档,我得到了一个类型struct time,但是为了得到我们做t.Hour的小时数。
如果t是对象Time和Hour的一个实例,我会理解这个对象的一个方法,但这不是oop,而且t是一个类型,我希望像Time.Hourt一样调用它来获取Hour
你能给我解释一下为什么t.Hour有效吗
谢谢!
/Miguelt不是一个类型,它是一个保存time.time函数返回的time.time类型结构值的变量
t、 Hour使用t receiver调用Time.Hour方法。我得到了一个类型struct Time No.完全错误。返回类型为time.time的值。可以对这些值调用方法。你的T是一个类型的时间实例。时间在C++,java或者C。如果你想从OOPS中类推,那么T.现在正在创建一个类的时间实例,T.Th等等是在它上面定义的方法。