src/main.go(主函数所在的文件):

package main // 主函数必须在main包中

// 多文件编程,可以通过命令行进行编译: go build main.go myfunc.go (将多个文件当成一个整体进行编译)
// go build ./src (多文件编程,将指定目录下的所有文件整体进行编译)

func main() {
// 调用当前包(目录)中的其他函数。 其他包中的函数通过 包名.函数名()的方式调用(需要import导入包)
test(10, 20)
}

src/myfunc.go(main包中的函数):

package main

import "fmt"

// 定义的函数作用域是整个项目目录
func test(a int, b int) {
fmt.Println(a, b)
}

goland中配置多文件编程的run命令 :

调用其他包中的函数
src/main.go(主函数所在的文件):

package main // 主函数所在的包必须是main包

import "userinfo" // 导入其他包

func main() {
// 调用其他包(目录)中的函数
userinfo.UserLogin() // 包名.函数名() 函数名首字母必须大写
}

src/userinfo/demo.go(其他包(目录)中定义函数):

package userinfo // 包名与所在目录名相同 (同一目录下的所有.go文件的包名要相同)

import "fmt"

// 包名.函数名()的方式调用时,函数名首字母必须大写
func UserLogin() {
fmt.Println("用户登录成功!")
}


————————————————
版权声明:本文为CSDN博主「houyanhua1」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/houyanhua1/article/details/88636388

Go 多文件编程,包的更多相关文章

  1. Android 编程下如何修改 jar 文件的包名

    首先我们要说说为什么要修改 jar 文件的包名,jar 包我们会非常高频率的使用,尤其是用一些其他三方库的时候,往往把 java 代码打包成 jar 文件,方便项目依赖使用.笔者在开发过程中遇到过一些 ...

  2. java文件编程总结

    文件编程之一就是文件操作,就是新建,删除,复制,更名 新建文件用createNewFile()方法,要处理IOException异常 新建文件夹用mkdirs()方法 删除一个文件和一个空的文件夹直接 ...

  3. 系统调用方式文件编程,王明学learn

    系统调用方式文件编程 一.文件描述符 在Linux系统中,所有打开的文件也对应一个数字,这个数字由系统来分配,我们称之为:文件描述符. 二.函数学习 2.1打开文件  open 2.1.2 函数原形 ...

  4. linux应用程序开发-文件编程-系统调用方式

    在看韦东山视频linux驱动方面有一些吃力,究其原因,虽然接触过linux应用程序编程,但是没有深入去理解,相关函数用法不清楚,正好看到国嵌视频对这一方面讲的比较透彻, 所以把学习过程记录下来,也作为 ...

  5. eclipse android 不会自动生成R.java文件和包的解决办法

    eclipse下编写android程序突然不会自动生成R.java文件和包的解决办法   我的eclipse原来是好好的,什么问题都没有的,结果今天一打开新建一个android程序,发现工程里不会自动 ...

  6. python下的复杂网络编程包networkx的安装及使用

    由于py3.x与工具包的兼容问题,这里采用py2.7 1.python下的复杂网络编程包networkx的使用: http://blog.sina.com.cn/s/blog_720448d30101 ...

  7. extern的使用详解(多文件编程)——C语言

    extern——关键字 extern是C语言中的一个关键字,一般用在变量名前或函数名前,作用是用来说明“此变量/函数是在别处定义的,要在此处引用”,extern这个关键字大部分读者应该是在变量的存储类 ...

  8. spring boot 启动类一定要放置到包的根目录下,也就是和所有包含java文件的包在同一级目录。如果不放置在根目录下,将会提示 no mybatis mapper was found

    spring boot 启动类一定要放置到包的根目录下,也就是和所有包含java文件的包在同一级目录.将会将同一目录下的包扫描成bean. 如果不放置在根目录下,将会提示 no mybatis map ...

  9. 多功能电子通讯录(涉及到了双向链表的使用,Linux文件编程等等)

    readme.txt //作为一个程序员,我们咋么能不写用户手册呢!MSP的我觉得用户体验是王道,苹果手机的用户体验的确不错!不过WP加油!我去,扯远了!赶紧看我的程序吧!  歡迎使用多功能電子通訊錄 ...

  10. linux文件编程----系统调用

    linux中文件编程可以使用两种方法: 1).linux系统调用 2).C语言库函数 前者依赖于linux系统,后者与操作系统是独立的. 在 linux系统中,所有打开的文件也对应一个数字,这个数字由 ...

随机推荐

  1. TypeScript中never类型的实用技巧

    本文由 ChatMoney团队出品 妙用一 当我们在一个项目中,可能会去改动一个在整个项目中应用很广泛的函数的参数类型,但是可能由于代码量比较庞大,我们不好排查改了之后哪些地方会出现问题,此时我们可以 ...

  2. 知名开源项目Alist被收购!惹程序员众怒,开团炮轰甲方

    知名开源网盘项目 Alist 被黑产收购?涉及泄露用户隐私?众多开发者成为黑奴?程序员集体炮轰项目评论区? 听起来还挺炸裂的,作为一名程序员,带大家扒一扒这个事件的来龙去脉. 什么是 Alist? A ...

  3. secp256k1算法详解一

    1 简介 ⽐特币基于椭圆曲线加密的椭圆曲线数字签名算法(ECDSA),特定的椭圆曲线称为secp256k1.其公式定义如下 y2=x3+ax+b mod p 其中:p = 0xFFFFFFFF FFF ...

  4. HyperWorks分析模型的建立与边界条件施加

    在HyperWorks完成了基本的网格剖分后,还需要赋予模型各类与求解相关的信息,方能最终生成可以递交求解器计算的输入文件.分析模型的建立与载荷及边界条件的创建包括以下内容: -定义待输出的目标求解器 ...

  5. CODING DevOps服务下线,受影响企业何去何从?如何进行迁移?

    前两天CODING DevOps宣布产品下线,建议标准版用户2025年9月1前完成迁移.付费版用户2028年9月30日前完成数据迁移.有点突然,但也不意外,我是接触Coding最早的用户,经常作为学习 ...

  6. C# 使用Newtonsoft.Json

    https://blog.csdn.net/qq_38762313/article/details/100161149 对象转json字符串 string jsStr=Newtonsoft.Json. ...

  7. Hadoop:Yarn设计原理

    一.Yarn基本架构 YARN主要由ResourceManager.NodeManager.ApplicationMaster和Container组成,之间通过RPC通讯 1.ResourceMana ...

  8. Luogu P10501 Cutting Game 题解

    P10501 Cutting Game 博弈论经典题目,考虑使用 SG 函数解决. 但是这一题和有向图游戏的定义不同,在有向图游戏不能操作者判负,而这一题中操作出某个状态者判胜.因此,我们需要进行转化 ...

  9. 前端开发系列127-进阶篇之tagged template

    本文介绍模板字符串的某种特殊用法,允许我们在函数名后跟一个模板字符串,然后可以像正常函数调用一样来把模板字符串中的各个部分以参数的方式传递给该函数. 标签模板-tagged template 并非真正 ...

  10. Django 实战:Celery 异步任务从环境搭建到调用全掌握

    一.Celery入门 介绍 Celery 是一个简单.灵活且可靠的分布式任务队列系统,专注于实时处理的异步任务队列,同时也支持任务调度.Celery是实现异步任务.定时任务的一种工具. Celery ...