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

目录
  • 同一个package中函数互相调用为undefined的解决
    • 解决方案
  • 同一个package下不同文件中函数调用报未定义问题
    • 解决方式大致有两种
  • 总结

同一个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)
  • 第二个:通过单元测试调用函数

总结

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

(0)

相关推荐

  • go build失败报方法undefined的解决过程

    目录 问题 范例代码 操作 解决 修改后代码 总结 记一次在写cli脚本的时候,碰到的一个问题. 问题 自己是写服务端的,有时候会写一些cli脚本去跑测试.习惯main.go写主流程,其他子文件写方法,这样子代码不会都在main.go里面.但这么写直接GoLand点击main旁边的按钮是可以执行,一旦用go build就报某个引用的方法,undefined. 范例代码 //main.go package main import "fmt" func main() { fmt.Print

  • go语言调用其他包中的函数简单示例

    目录 需求 步骤 附:Go语言同一个包中不同文件之间函数调用 总结 需求 我们想在程序的入口main.go中调用service包下的user_service.go中的函数,该如何调用呢?示例如下 步骤 新建一个文件夹pkgdemo1(名字任意),通过vscode打开 然后在终端转到该目录下(这里我用的linux操作的,windows操作系统可以是使用bash或者是命令行代替,操作差别不大) 使用命令 go mod init zhu.com/project01 zhu.com相当于java项目中的

  • 一文带你轻松学会Go语言动态调用函数

    目录 前言 JavaScript 动态调用函数 Go 中动态调用方法 前言 经常在开发的时候会遇到这样的场景,几个模块的都有相同的方法,但会因为不同的类型的需要调用不同模块的方法.使用一个 switch 可以很方便的解决问题.但是当你遇到的场景是几个模块的方法都是需要的执行,同时它需要在不同的配置下执行相对应的方法. func m1(){} func m2(){} func m3(){} c := cron.New(cron.WithSeconds()) c.addFunc(config1,fu

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

    目录 同一个package中函数互相调用为undefined的解决 解决方案 同一个package下不同文件中函数调用报未定义问题 解决方式大致有两种 总结 同一个package中函数互相调用为undefined的解决 代码如下: package main import "fmt" func main() { myFunc() } func init() { fmt.Println("there is main.init()") } package main imp

  • JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法

    本文实例讲述了JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法.分享给大家供大家参考,具体如下: 主页面: <script type="text/javascript"> function SelectGroupCust() { var temp = window.showModalDialog("Default2.aspx?xx=" + Date(), "", "dialog

  • ThinkPHP调用common/common.php函数提示错误function undefined的解决方法

    本文主要介绍了ThinkPHP调用common/common.php函数提示错误function undefined的解决方法.对于采用ThinkPHP进行项目开发的朋友来说,在进行ThinkPHP升级后经常会遇到这类问题.具体描述如下: 在对ThinkPHP升级后使用了最新的ThinkPHP3.2版本,将通用的函数放到了common/common.php中,但是在具体页面调用函数时出现了function undefined的错误提示. 在查看了官方文档后发现,原来ThinkPHP3.2版本co

  • 解决Goland 同一个package中函数互相调用的问题

    使用的为 goland 碰到同一个 package 互相调用,编译显示函数未定义, 原因为默认按file 编译,默认没有编译version.go 解决方法 设置按照 package 编译就可以了 补充:goland以package形式 编译代码 命令源码文件:独立程序的入口 包含无结果无参数的main函数 库源码文件:放置可供其他代码使用的程序实体 goland以package形式 编译代码 1.配置gopath 在File菜单里找到settings,点击gopath! 配置如下: 2.项目结构

  • PowerShell中简单的自定义函数和调用函数例子

    在PowerShell中是否有函数?PowerShell是否可以自定义函数?PowerShell中如何自定义函数? 在PowerShell中,我们可以使用函数(function)来简化编程开发.在PowerShell中使用function这个关键词来标识一个函数.一个自定义的函数,由function关键词开始,然后用一对大括号来包括起整个函数体的内容. 我们先来看一下简单的PowerShell函数: 复制代码 代码如下: function Test-Function {     Write-Ho

  • 浅谈golang package中init方法的多处定义及运行顺序问题

    在不了解这个问题之前,在网上搜索一下竟然搜出了两个完全相反的结果,所以打算自己测试下这个问题. 首先给出结论: 在同一个package中,可以多个文件中定义init方法 在同一个go文件中,可以重复定义init方法 在同一个package中,不同文件中的init方法的执行按照文件名先后执行各个文件中的init方法 在同一个文件中的多个init方法,按照在代码中编写的顺序依次执行不同的init方法 下面看下测试的代码: 在当前目录下新建main.go及testinit目录,在testinit目录下

  • JavaScript函数的调用以及参数传递

    JavaScript 函数调用 JavaScript 函数有 4 种调用方式. 每种方式的不同方式在于 this 的初始化. this 关键字 一般而言,在Javascript中,this指向函数执行时的当前对象. Note 注意 this 是保留关键字,你不能修改 this 的值. 调用 JavaScript 函数 函数中的代码在函数被调用后执行. 作为一个函数调用 实例 function myFunction(a, b) { return a * b; } myFunction(10, 2)

  • C语言中的隐式函数声明

    1 什么是C语言的隐式函数声明 在C语言中,函数在调用前不一定非要声明.如果没有声明,那么编译器会自动按照一种隐式声明的规则,为调用函数的C代码产生汇编代码.下面是一个例子: int main(int argc, char** argv) { double x = any_name_function(); return 0; } 单纯的编译上述源代码,并没有任何报错,只是在链接阶段因为找不到名为any_name_function的函数体而报错. [smstong@centos192 test]$

  • 在Python 中同一个类两个函数间变量的调用方法

    如下所示: class A(): def test_a(self): self.m ="hello" def test_b(self): self.test_a() n=self.m + "world" print(n) if __name__ == '__main__': A().test_b() 运行结果: 以上这篇在Python 中同一个类两个函数间变量的调用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • C语言多种方法实现一个函数左旋字符串中K个字符

    目录 前言 法一.将左旋1次这个动作执行k次 法二.多次逆序字符串 前言 今天看到一个有趣的笔试题:实现一个函数,可以左旋字符串中的k个字符.示例如下: ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB 提示:以下是本篇文章正文内容,下面案例可供参考 法一.将左旋1次这个动作执行k次 这个方法的思路我来简单介绍一下: 现有1个字符串abcd 我们将a移出来,然后bcd前会空出一个位置 将bcd向前移动一个位置,最后把a放入最后一个位置,即可完成1次左旋 那么1次完成了,对于左旋

随机推荐