golang中同一个package中函数互相调用的问题

同一个packge中(test)

a.go

package main

func main(){

Test()

}

b.go

package main

import "fmt"

func Test(){

fmt.Println("Hello gopher!")

}

编译的结果如下:

D:\goWork\src\test>go run a.go

# command-line-arguments

.\a.go:4:2: undefined: Test

正常来说同一个package下,函数是可以相互调用的,不应该报错, 出现这种问题的原因是没有对这个package整体进行编译, 也就是说只编译了部分:

找到了问题,针对进行解决就可以了, 只要找到可以整体编译的方法就可以了,我试过可行的几种如下:

命令行:

多个.go文件一起编译运行

D:\goWork\src\test>go run a.go b.go

Hello gopher!

直接运行这个package

D:\goWork\src\test>go run ./

Hello gopher!

Goland

修改:Configuration

把Run kind 改为 Directory

Snipaste_2019-01-14_21-04-55.png

Snipaste_2019-01-14_20-47-08.png

找到package包所在的路径, 同时为这个Configuration取一个名字

Snipaste_2019-01-14_20-53-39.png

在左上角选中的的Configuration, 点击左侧的按钮运行

Snipaste_2019-01-14_20-54-13.png

Snipaste_2019-01-14_20-55-50.png

结果就正常了!

Hello gopher!

Process finished with exit code 0

golang 相互引用_golang go run undefined 同一个package中函数互相调用的问题相关推荐

  1. golang 相互引用_Golang与C互用以及调用C的so动态库和a静态库

    Golang与C的关系非常密切,下面主要介绍在Golang中使用C. 一. Golang中嵌入C代码 1 package main 2 3 //#include 4 //#include 5 /* 6 ...

  2. golang 同一个包中函数互相调用报错 undefined 以及在 VSCode 中配置右键执行整个包文件

    1. 代码结构 demo 文件夹下有两个文件,分别为 hello.go 和 main.go ,结构如下: wohu@wohu:~/GoCode/src$ tree demo/ demo/ ├── he ...

  3. @transactional注解_为啥同一个类中普通方法调用Spring注解方法,注解会失效?看完你就明白,So easy!...

    Spring注解(如@Transactional.@Cacheable.@Async等),在使用不当时,很可能会失效.失效的情况有很多种,本文我们就来瞅瞅,为啥同一个类中普通方法调用Spring注解方 ...

  4. 梳理:python—同一个类中的方法调用

    为什么突然在此提到这个梳理问题呢? 因为在自己实践综合练习学过的知识时,突然觉得有些知识点的运用总是不成功,于是翻过课本进行回顾,总是觉得是对的,可是当再进一步思考"既然是对的,为什么在程序 ...

  5. golang 相互引用_Go 不同文件之间的引用

    同一个包里面,不同文件之间,不需要 import,直接用就好.不同包的话,需要引用包,只能使用大写字母开头的方法 ,变量 等等,小写子母开头的只能包内使用. 简单来说 :大写字母开头的变量,方法暴露给 ...

  6. golang结构体方法和“以接口为参数的函数”的调用规则尝试

    以下是我的初步尝试,有错误的话望指出 package mainimport "fmt"// 定义一个结构 type Person struct {name string }// 写 ...

  7. idea中同一个包中的类相互引用失败

    idea类相互引用失败 问题描述: 在开发过程中,从git上拉取项目,发现同一包下的两个类在相互引用时出错,无法找到对应类,无法运行.困扰好久,记录一下解决办法 原因分析: 由于是同一包下的两个pub ...

  8. 相互引用的初始化过程

    问题说明: 两个对象A初始化时候会引用B,B 在初始化时会引用A,这个过程是怎么完成的? 代码示例: /*** 相互关联引用的初始化* @author administrator**/ public ...

  9. SpringCache @Cacheable 在同一个类中调用方法,导致缓存不生效的问题及解决办法...

    由于项目需要使用SpringCache来做一点缓存,但自己之前没有使用过(其实是没有听过)SpringCache,于是,必须先学习之. 在网上找到一篇文章,比较好,就先学习了,地址是: https:/ ...

最新文章

  1. 独家 | 一文读懂数据质量和验证检查(附代码)
  2. angular中集中页面传参(我只是知识的搬运工)
  3. 第九篇:Spring Boot整合Spring Data JPA_入门试炼03
  4. libevent c++高并发网络编程_【多线程高并发编程】Callable源码分析
  5. OpenFeign 的 9 个坑,每个都能让你的系统奔溃
  6. rna聚类分析_新技术助力单细胞RNA测序数据聚类分析
  7. 橡皮擦的英语_小朋友们知道“橡皮擦”用英语该怎么说吗?
  8. mysql 5.5.27_MySQL-5.5.27安装图解
  9. 台式计算机为什么数字输入不了,电脑数字键盘打不出数字怎么回事
  10. python列表按照字母排序_Python:按字母顺序对列表进行排序/分组
  11. 拒绝男程序员?程序员就活该接盘?
  12. 图片旋转90度解决办法
  13. 第六期:如何通过知晓云将数据表导出为 Excel 文件
  14. vce数学考试能用计算机,准备VCE数学考试的诀窍,从一本出色的笔记开始!
  15. 【038】基于51单片机的土壤湿度自动浇花系统Proteus仿真设计
  16. 历史上几次股市大崩盘
  17. 微软行星云计算Planetary Computer——从 STAC API 读取数据
  18. 突然无法访问局域网内的共享文件夹
  19. 赋予城市生命力,新华三的智慧城市理念
  20. 必收藏!计算机保研时间轴!

热门文章

  1. css案例学习之div ul li a 实现导航效果
  2. META的SEO优化中方法技巧
  3. 大受褒扬,BCH中国开发者走向世界!
  4. Android 手机适配
  5. 转发:Docker —— 从入门到实践
  6. ViewPager 入门一
  7. Instruments of Xcode
  8. shell 编程 判断语句参数
  9. 巴黎新式婴儿饼干,你敢吃吗?
  10. [转贴]现在在做一个WEB的站内消息系统,从工具栏位置弹出一徐徐上升的窗口...