gpt4 book ai didi

没有名字的函数/方法

转载 作者:IT王子 更新时间:2023-10-29 01:59:44 26 4
gpt4 key购买 nike

我真的很难为我遇到的一种函数找到一个名称。

这里是有问题的函数:

https://github.com/go-fsnotify/fsnotify/blob/master/fsnotify.go#L32

这就是我使用它的方式(根据 fsnotify 示例):

        select {

case event := <-watcher.Events:

log.Println("Event Triggered: ", event)

在那个 Println 'event' 中,按照上面的函数返回格式化的字符串,我只是在努力理解直接调用 'event' 是如何使用该函数的,但我希望它像结构字段(event.Name,event.Op):

event.funcForReturningNicelyFormattedEvent()

感觉这是一个“默认”函数,因为它没有名称,它只返回格式化数据 - 我正在努力想出名称/类型/搜索词,以便我可以找到更多信息并理解概念,重要的是它背后的推理更好。

感谢任何帮助。

最佳答案

非常简单 - println 在任何自动实现它的结构上使用 String() 方法。这是 Go 的隐式接口(interface)的经典用例:每个具有接口(interface)包含的方法的结构都被认为是在实现接口(interface)。

如果它有 func String() string 它被认为是一个 Stringer 并被 fmt 使用。当然,您也可以在自己的结构上使用它。

关于没有名字的函数/方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26801570/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com