Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function 为什么我可以从键入Go调用func?_Function_Go_Methods - Fatal编程技术网

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有效吗

谢谢! /Miguel

t不是一个类型,它是一个保存time.time函数返回的time.time类型结构值的变量


t、 Hour使用t receiver调用Time.Hour方法。

我得到了一个类型struct Time No.完全错误。返回类型为time.time的值。可以对这些值调用方法。你的T是一个类型的时间实例。时间在C++,java或者C。如果你想从OOPS中类推,那么T.现在正在创建一个类的时间实例,T.Th等等是在它上面定义的方法。