为了账号安全,请及时绑定邮箱和手机立即绑定

修改go中导入的函数

修改go中导入的函数

Go
凤凰求蛊 2023-08-14 16:11:56
print()我可以通过在范围内定义另一个函数来覆盖内置函数的行为print() ,如https://play.golang.org/p/Y2ly31oXU67中所示例如,是否有可能在 go 中即时改变导入函数的行为fmt.Println()?
查看完整描述

2 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

如果你想“改变”一个内置函数,请查看非常好的猴子补丁实用程序https://github.com/bouk/monkey(并注意警告,它只在测试函数中真正有用,我就是其中之一拒绝导入该包的任何产品代码)



查看完整回答
反对 回复 2023-08-14
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

导入名为“fmt”的不同包并实现该包中所需的任何功能。这是一个例子:


文件 go.mod:


module test

文件 main.go


package main


import (

    "test/fmt"

)


func main() {

    fmt.Println("Hello, playground")

}

文件 fmt/fmt.go:


package fmt


import (

    "fmt"

    "log"

)


func Println(format string, args ...interface{}) {

    msg := fmt.Sprintf(format, args...)

    log.Printf(msg)

}

在操场上运行它


此答案中的代码不会按照问题中的要求修改导入的函数。


查看完整回答
反对 回复 2023-08-14
  • 2 回答
  • 0 关注
  • 126 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信