说说Go语言的main函数

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 说说Go语言的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函数的分享就到这里~


相关文章
|
15天前
|
存储 Go 索引
go语言中数组和切片
go语言中数组和切片
26 7
|
15天前
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
|
15天前
|
程序员 Go
go语言中结构体(Struct)
go语言中结构体(Struct)
92 71
|
14天前
|
存储 Go 索引
go语言中的数组(Array)
go语言中的数组(Array)
100 67
|
15天前
|
存储 Go
go语言中映射
go语言中映射
32 11
|
16天前
|
Go 索引
go语言修改元素
go语言修改元素
25 6
|
7天前
|
Go 数据安全/隐私保护 UED
优化Go语言中的网络连接:设置代理超时参数
优化Go语言中的网络连接:设置代理超时参数
|
17天前
|
Go 索引
go语言for遍历数组或切片
go语言for遍历数组或切片
88 62
|
19天前
|
并行计算 安全 Go
Go语言中的并发编程:掌握goroutines和channels####
本文深入探讨了Go语言中并发编程的核心概念——goroutine和channel。不同于传统的线程模型,Go通过轻量级的goroutine和通信机制channel,实现了高效的并发处理。我们将从基础概念开始,逐步深入到实际应用案例,揭示如何在Go语言中优雅地实现并发控制和数据同步。 ####
|
17天前
|
Go
go语言for遍历映射(map)
go语言for遍历映射(map)
29 12