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 main

import "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

猜你喜欢

转载自blog.csdn.net/weixin_43819762/article/details/128621817
今日推荐