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

相关文章

解决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

AutoGen Function Call 函数调用解析(一)

目录 一、AutoGen Function Call 1.1 register_for_llm 注册调用 1.2 register_for_execution 注册执行 1.3 三种注册方法 1.3.1 函数定义和注册分开 1.3.2 定义函数时注册 1.3.3  register_function 函数注册 二、实例 本文主要对 AutoGen Function Call

(function() {})();只执行一次

测试例子: var xx = (function() {     (function() { alert(9) })(); alert(10)     return "yyyy";  })(); 调用: alert(xx); 在调用的时候,你会发现只弹出"yyyy"信息,并不见弹出"10"的信息!这也就是说,这个匿名函数只在立即调用的时候执行一次,这时它已经赋予了给xx变量,也就是只是

js私有作用域(function(){})(); 模仿块级作用域

摘自:http://outofmemory.cn/wr/?u=http%3A%2F%2Fwww.phpvar.com%2Farchives%2F3033.html js没有块级作用域,简单的例子: for(var i=0;i<10;i++){alert(i);}alert(i); for循环后的i,在其它语言像c、java中,会在for结束后被销毁,但js在后续的操作中仍然能访

ORACLE语法-包(package)、存储过程(procedure)、游标(cursor)以及java对Result结果集的处理

陈科肇 示例: 包规范 CREATE OR REPLACE PACKAGE PACK_WMS_YX IS-- Author : CKZ-- Created : 2015/8/28 9:52:29-- Purpose : 同步数据-- Public type declarations,游标 退休订单TYPE retCursor IS REF CURSOR;-- RETURN vi_co_co