os.Args学习

package mainimport ("fmt""os""strings"
)func main() {fmt.Println("Hello, world 世界!")var s, sep stringfor i := 1; i < len(os.Args); i++ {s += sep + os.Args[i]sep = " "}fmt.Println(os.Args[0])fmt.Println(s)fmt.Println(strings.Join(os.Args[1:], " "))fmt.Println(strings.Join(os.Args[1:], "_"))fmt.Println(strings.Join(os.Args[1:3], "_"))// for range 的使用s = ""sep = ""for _, arg := range os.Args[1:] {s += sep + argsep = "_"}fmt.Println(s)// fmt.Println(strings.Join(os.Args[1:5], "#")) // panic: runtime error: slice bounds out of range [:5] with capacity 4// goroutine 1 [running]:// main.main()//        /Users/majinbo/Study/go/hellowork.go:21 +0x33f// exit status 2
}
go run hellowork.go abc def ghi
Hello, world 世界!
/var/folders/l2/6m6kq90s4p382ld1r7bv4dwm0000l2/T/go-build2133640648/b001/exe/hellowork
abc def ghi
abc def ghi
abc_def_ghi
abc_def
abc_def_ghi

从例子里透出的知识点:

  1. os.Args 其实同C语言里的agrc 与argv 这两个参数的作用;
  2. 数字访问单个元素,可以直接s[i]访问;
  3. s[1:3] 表示访问的是从下标1开始,连续3-1个元素,即左开右闭[1,3)
  4. s[1:] 表示从下标元素到结尾,相当于s[1:len(s)]
  5. strings.Join 相当于上边的for循环的结果
  6. for range的使用,每次迭代,range产生一对值,索引与元素,可通过"_"丢掉不用的变量

go os.Args 学习相关推荐

  1. go语言学习---使用os.Args获取简单参数(命令行解析)

    实例1: //main package mainimport ("fmt""os" )func main() {fmt.Println(os.Args)} 执行 ...

  2. Golang——文件创建和写入、OpenFile追加写入、Open读取文件、ReadBytes缓冲区读取、os.Args、flag

    Create创建文件: os.Create:文件不存在则创建,文件存在则删除文件中的内容 语法: file:创建文件的指针 err:创建文件出现异常后的信息file, err := os.Create ...

  3. Harmony OS 设备开发学习记录(六)-- 通过PWM模块播放音乐

    Harmony OS 设备开发学习记录(六)-- 通过PWM模块播放音乐 基于hispark wifi套件采用harmony os 2.0全量代码 一.看原理图确定硬件电路 本例采用红绿灯扩展版上的蜂 ...

  4. GO 命令行参数 os.Args

    1. os.Args package mainimport ("fmt""os" )func main() {s, sep := "", & ...

  5. 银河麒麟操作系统(kylin os)学习

    poweroff          # 关机命令 sudo su           # 进入超级用户 su username   # 切普通用户 Ctrl+Alt+t        # 打开终端te ...

  6. 操作系统<OS>学习习题——第二、三章:进程与处理机

    前言 东方欲晓,莫道君行早. 踏遍青山人未老,风景这边独好. 习题:

  7. 龙蜥社区成立Anolis OS Course SIG,打造龙蜥OS学习平台

    OpenAnolis 龙蜥社区(以下简称"龙蜥社区")正式成立 Anolis OS Course SIG(Special Interest Group 特别兴趣小组). Anoli ...

  8. Go:分布式学习利器(1) -- 开发环境搭建 + 运行第一个go程序

    文章目录 为什么要学习 go 开发环境搭建 -- MAC 运行第一个go程序 go 函数的返回值设置 go 函数的命令行参数 为什么要学习 go 在如下几个应用场景的需求下产生了go: 超大规模分布式 ...

  9. 《Go语言圣经》学习笔记 第五章函数

    <Go语言圣经>学习笔记 第五章 函数 目录 函数声明 递归 多返回值 匿名函数 可变参数 Deferred函数 Panic异常 Recover捕获异常 注:学习<Go语言圣经> ...

最新文章

  1. Await, and UI, and deadlocks! Oh my!
  2. pymysql连接mysql_python使用MYSQL数据库
  3. 交友软件上的两种网友类型......
  4. matlab2c使用c++实现matlab函数系列教程-mean函数
  5. extjs中的flex_Extjs 教程
  6. C语言程序的undefined,c语言中undefined reference to 怎么解决
  7. 微信聊天软件测试用例设计,微信页面测试用例_20140819
  8. word2007在试图打开文件时遇到错误解决方法
  9. CENTOS6 安装配置 pptpd 心得
  10. RedisBloom 插件布隆过滤器,布谷鸟过滤器,Count-Min Sketch,TOPK使用详解
  11. 铁路及工程相关专业术语自动查询
  12. AUC/ROC:面试中80%都会问的知识点
  13. #OIM查错#OIM API调用,报java.net.ConnectException错误
  14. aria-expanded ;aria-hidden;data-target;data-toggle
  15. Vue项目 .env .env.development .env.production 配置说明
  16. Laravel遇到Trying to get property of non-object 错误
  17. 软考备考-系统构架师-16-数据库系统相关试题整理
  18. 为什么一定要了解基础?
  19. 计算机瑞士留学经验,教育处访问瑞士国家超级计算机中心
  20. SSL handshake error

热门文章

  1. 关于3Q大战的感想:得民心者得天下
  2. 难道是360安全卫士惹的祸?
  3. Hadoop入门教程
  4. 十九、帧间预测编码_1、帧间预测编码的基本原理
  5. 21岁的年纪尴尬吗?
  6. bootstrap 框架
  7. 【深度学习】——分类损失函数、回归损失函数、交叉熵损失函数、均方差损失函数、损失函数曲线、
  8. struts2 的一个action中配置多个result input
  9. 启动腾讯软件出现 应用程序无法启动并行配置不正确 解决
  10. winedt常用快捷键 修改快捷键latex编译按钮