Go语言中同一个package中函数互相调用为undefined的解决

 更新时间:2023年03月03日 10:59:57   作者:wongyaa  
这篇文章主要介绍了Go语言中同一个package中函数互相调用为undefined的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

同一个package中函数互相调用为undefined的解决

代码如下:

package main

import "fmt"

func main() {
    myFunc()
}

func init() {
    fmt.Println("there is main.init()")
}
package main

import "fmt"

func init() {
    fmt.Println("there is myClass.init()")
}

func myFunc() {
    fmt.Println("there is myClass.myFunc()")
}

执行main方法后得到:

这里写图片描述

解决方案

GoLand通过option+F12打开Terminal终端执行一下操作:

go run *.go

或者

go build .
./run
// 恕我直言,这种方法还没成功

同一个package下不同文件中函数调用报未定义问题

代码如下:

  • hello.go文件
package main

import "fmt"

func hello()  {
   fmt.Print("go =======")
}
  • main.go文件
package main

func main() {
    hello()
}

编译过程报错:

# command-line-arguments
test\main.go:10:3: undefined: hello


Process finished with exit code 2

出现这样的原因是hello.go文件并未编译

解决方式大致有两种

  • 第一个:通过go命令编译,go run *.go 或 (go bulid . ,. run)
  • 第二个:通过单元测试调用函数

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • go语言实现将重要数据写入图片中

    go语言实现将重要数据写入图片中

    本文给大家分享的是go语言实现将数据的二进制形式写入图像红色通道数据二进制的低位,从而实现将重要数据隐藏,有需要的小伙伴参考下吧。
    2015-03-03
  • 6行代码快速解决golang TCP粘包问题

    6行代码快速解决golang TCP粘包问题

    在用golang开发人工客服系统的时候碰到了粘包问题,那么什么是粘包呢?下面这篇文章主要给大家介绍了关于如何通过6行代码快速解决golang TCP粘包问题的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴下面随着小编来一起学习学习吧。
    2018-03-03
  • Go 函数中获取调用者的函数名和文件名及行号

    Go 函数中获取调用者的函数名和文件名及行号

    这篇文章主要介绍了Go 函数中获取调用者的函数名和文件名及行号,文章围主题详细内容展开相关介绍,感兴趣的小伙伴可以参考一下
    2022-05-05
  • Golang自定义开发Prometheus exporter详解

    Golang自定义开发Prometheus exporter详解

    Exporter是基于Prometheus实施的监控系统中重要的组成部分,承担数据指标的采集工作,这篇文章主要为大家介绍了如何自定义编写开发 Prometheus exporter,感兴趣的可以了解一下
    2023-06-06
  • Windows下Goland的环境搭建过程详解

    Windows下Goland的环境搭建过程详解

    这篇文章主要介绍了Windows下Goland的环境搭建过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Go语言基础闭包的原理分析示例详解

    Go语言基础闭包的原理分析示例详解

    这篇文章主要为大家介绍了Go语言基础闭包的底层原理及实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2021-11-11
  • Golang设计模式之组合模式讲解

    Golang设计模式之组合模式讲解

    这篇文章主要介绍了Golang设计模式之组合模式,组合模式针对于特定场景,如文件管理、组织管理等,使用该模式能简化管理,使代码变得非常简洁
    2023-01-01
  • 一文搞懂Go语言标准库strconv

    一文搞懂Go语言标准库strconv

    strconv包实现了基本数据类型和其字符串表示的相互转换,本文主要介绍Go语言标准库strconv,想要学习strconv标准库的可以了解一下
    2023-04-04
  • Go语言映射内部实现及基础功能实战

    Go语言映射内部实现及基础功能实战

    这篇文章主要为大家介绍了Go语言映射的内部实现和基础功能实战,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪<BR>
    2022-03-03
  • Go语言中获取IP地址的方法小结

    Go语言中获取IP地址的方法小结

    这篇文章主要为大家详细介绍了Go语言中获取IP地址的常用方法,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-12-12

最新评论