验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

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

阅读:613 来源:乙速云 作者:代码code

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方法后得到:

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

      解决方案

      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
      testmain.go:10:3: undefined: hello


      Process finished with exit code 2

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

      解决方式大致有两种

      • 第一个:通过go命令编译,go run *.go 或 (go bulid . ,. run)

      • 第二个:通过单元测试调用函数

    分享到:
    *特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
    相关文章
    {{ v.title }}
    {{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
    你可能感兴趣
    推荐阅读 更多>