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

相关文章

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

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

Java实现将byte[]转换为File对象

《Java实现将byte[]转换为File对象》这篇文章将通过一个简单的例子为大家演示Java如何实现byte[]转换为File对象,并将其上传到外部服务器,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言1. 问题背景2. 环境准备3. 实现步骤3.1 从 URL 获取图片字节数据3.2 将字节数组

解决JavaWeb-file.isDirectory()遇到的坑问题

《解决JavaWeb-file.isDirectory()遇到的坑问题》JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文... 目录Jahttp://www.chinasem.cnvaWeb-file.isDirectory()遇

Java function函数式接口的使用方法与实例

《Javafunction函数式接口的使用方法与实例》:本文主要介绍Javafunction函数式接口的使用方法与实例,函数式接口如一支未完成的诗篇,用Lambda表达式作韵脚,将代码的机械美感... 目录引言-当代码遇见诗性一、函数式接口的生物学解构1.1 函数式接口的基因密码1.2 六大核心接口的形态学

解决Spring运行时报错:Consider defining a bean of type ‘xxx.xxx.xxx.Xxx‘ in your configuration

《解决Spring运行时报错:Considerdefiningabeanoftype‘xxx.xxx.xxx.Xxx‘inyourconfiguration》该文章主要讲述了在使用S... 目录问题分析解决方案总结问题Description:Parameter 0 of constructor in x

VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virtual disk”问题

《VMWare报错“指定的文件不是虚拟磁盘“或“Thefilespecifiedisnotavirtualdisk”问题》文章描述了如何修复VMware虚拟机中出现的“指定的文件不是虚拟... 目录VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virt

C++11的函数包装器std::function使用示例

《C++11的函数包装器std::function使用示例》C++11引入的std::function是最常用的函数包装器,它可以存储任何可调用对象并提供统一的调用接口,以下是关于函数包装器的详细讲解... 目录一、std::function 的基本用法1. 基本语法二、如何使用 std::function

提示:Decompiled.class file,bytecode version如何解决

《提示:Decompiled.classfile,bytecodeversion如何解决》在处理Decompiled.classfile和bytecodeversion问题时,通过修改Maven配... 目录问题原因总结问题1、提示:Decompiled .class file,China编程 bytecode