当前位置: > > > > 为什么我可以从 Go 中的类型调用函数?
为什么我可以从 Go 中的类型调用函数?
来源:stackoverflow
2024-04-29 17:36:36
0浏览
收藏
一分耕耘,一分收获!既然打开了这篇文章《为什么我可以从 Go 中的类型调用函数?》,就坚持看下去吧!文中内容包含等等知识点…希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!
问题内容
我正在学习 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() 时,根据文档,我得到一个类型结构 time (https://golang.org/pkg/time/#now),但是,为了获得我们的小时执行 t.hour()。 我会理解 t 是否是对象 time 的实例,而 hour 是该对象的方法,但这不是 oop,并且 t 是一种类型,我希望像 time.hour(t) 那样调用它来获取小时.
您能否告诉我为什么 t.hour() 有效?
谢谢! /米格尔
解决方案
t 不是类型,它是一个变量,保存 time.Time 类型的结构值,由 time.Now() 函数返回。
t.Hour() 使用 t 接收器调用 Time.Hour() 方法。
终于介绍完啦!小伙伴们,这篇关于《为什么我可以从 Go 中的类型调用函数?》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~米云公众号也会发布Golang相关知识,快来关注吧!
