Error: Package awesomeProject contains more than one main function Consider using File kind instead

本文主要是介绍Error: Package awesomeProject contains more than one main function Consider using File kind instead,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题

代码旁边有个绿色的箭头,点击运行时自动弹窗出来  edit configuration 窗口 ,导致无法运行

错误:包 awesomeProject 包含多个 main 函数请考虑改用文件类型 

--------------------------------------------------------------------------------------------------------------------------------

package(包)

所有代码都必须组织在 package 中

包本质上就是个”目录“,里面有很多个go文件。也可以说,包由同一目录下的多个源码文件组成

在同一个包目录下,所有的 .go文件的第一行需要添加包的定义,程序根据此来标记该源码文件的所属

package 包名

注意:代码包包名和文件目录是可以不一致的,但是相同目录下的每个源文件第一行定义的 所属包必须一致

main 包

- go语言的程序入口 mian函数所在的包

- 在 main包下,如果想要引用别的包下定义的代码,需要使用 import 关键字,也就是导包

注意:main包是程序的入口包,其他包不能使用

初次接触 Go语言,当然要从 Hello World 开始了

在项目下创建一个 Go文件,hello.go

package mainimport "fmt"//导入一个系统包fmt用来输出的func main() {fmt.Println("Hello,World!")//打印输出字符串
}

第一行的 package main 定义了包名,package main 表示一个可独立执行的程序,每个 Go应用程序都包含一个名为 main 的包

func main() 是程序开始执行的函数,所有可执行的 Go程序都必须有 main 函数(一般都是启动后执行的第一个函数)

总结:Go可执行程序可以分解成一个一个的包,main包 是必须要存在的,且 main包里必须包含 main 函数,程序的执行本质上就是运行 main包 的 main函数,main函数结束程序就结束了

---------------------------------------------------------------------------------------------------------------------------------

所以上面那个错误为何会出现呢?

因为一个 main包中必须仅有一个 main 函数,不能出现两个或者多个

goland函数不支持重载,一个包不可以有两个函数名一个的函数,如果同时出现两个函数执行入口,系统就无法选择正确的执行入口从而报错。

因为在初学阶段,在 main包中尝试了两个 go源码文件,所以会出现以上错误

通常情况下,  main函数所在的包应该保持仅有一个 go源码文件就好了

解决方法

非要运行也不是不行

在源文件上点击右键运行就可以了

其他注意事项

https://learnku.com/articles/65136

这篇关于Error: Package awesomeProject contains more than one main function Consider using File kind instead的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/349777

相关文章

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

一个Java的main方法在JVM中的执行流程示例详解

《一个Java的main方法在JVM中的执行流程示例详解》main方法是Java程序的入口点,程序从这里开始执行,:本文主要介绍一个Java的main方法在JVM中执行流程的相关资料,文中通过代码... 目录第一阶段:加载 (Loading)第二阶段:链接 (Linking)第三阶段:初始化 (Initia

Java 字符串操作之contains 和 substring 方法最佳实践与常见问题

《Java字符串操作之contains和substring方法最佳实践与常见问题》本文给大家详细介绍Java字符串操作之contains和substring方法最佳实践与常见问题,本文结合实例... 目录一、contains 方法详解1. 方法定义与语法2. 底层实现原理3. 使用示例4. 注意事项二、su

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

解决Nginx启动报错Job for nginx.service failed because the control process exited with error code问题

《解决Nginx启动报错Jobfornginx.servicefailedbecausethecontrolprocessexitedwitherrorcode问题》Nginx启... 目录一、报错如下二、解决原因三、解决方式总结一、报错如下Job for nginx.service failed bec

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

IDEA下"File is read-only"可能原因分析及"找不到或无法加载主类"的问题

《IDEA下Fileisread-only可能原因分析及找不到或无法加载主类的问题》:本文主要介绍IDEA下Fileisread-only可能原因分析及找不到或无法加载主类的问题,具有很好的参... 目录1.File is read-only”可能原因2.“找不到或无法加载主类”问题的解决总结1.File

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre