说说Go语言的main函数

举报
海风极客 发表于 2022/10/18 22:50:06 2022/10/18
【摘要】 1 首先来个一览无余符合要求的main函数不能带参数符合要求的main函数不能定义返回值符合要求的main函数所在的包必须指定package为main包才能正常执行符合要求的main函数中可以使用flag包来获取和解析命令行参数 2 解释下首先前两个比较好理解,在这里就不多说了,第三个的意思就是:即使main函数所在的目录名称不是main,但是将package指定为main就可以正常执行:...

1 首先来个一览无余

  • 符合要求的main函数不能带参数

  • 符合要求的main函数不能定义返回值

  • 符合要求的main函数所在的包必须指定package为main包才能正常执行

  • 符合要求的main函数中可以使用flag包来获取和解析命令行参数

2 解释下

首先前两个比较好理解,在这里就不多说了,第三个的意思就是:即使main函数所在的目录名称不是main,但是将package指定为main就可以正常执行:
在这里插入图片描述
最后一个,如何使用flag包来获取和解析命令行参数,我们演示下:

package main

import (
   "flag"
   "fmt"
   "os"
)

func main() {
   //1 直接解析
   var name = flag.String("name", "default name", "usage")
   //2 先声明变量 再解析
   var name2 string
   flag.StringVar(&name2, "name2", "default name", "usage of name")
   //1和2 之后都要有这个操作
   flag.Parse()
   fmt.Println("name :", *name)
   fmt.Println("name2 :", name2)
   //打印相关信息
   for index, arg := range os.Args {
      fmt.Printf("%d -> %s\n", index, arg)
   }
}

输入的内容:
在这里插入图片描述
OK,关于go语言main函数的分享就到这里~

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。