小编mik*_*tux的帖子

为什么我可以从 Go 中的类型调用 f​​unc?

我正在学习围棋,在进行“围棋之旅”时,我发现了以下代码:

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()有效吗?

谢谢!/米格尔

methods function go

0
推荐指数
1
解决办法
51
查看次数

标签 统计

function ×1

go ×1

methods ×1