[日常] Go语言圣经-命令行参数
1.编译
go build hello.go
2.go get gopl.io/ch1/helloworld 命令,就会从网上获取代码,并放到对应目录中
下载的代码会放在$GOPATH/src/gopl.io/ch1/helloworld目录
3.Go语言不需要在语句或者声明的末尾添加分号,除非一行上有多条语句。
4.Go语言在代码格式上采取了很强硬的态度。gofmt工具把代码格式化为标准格式
gofmt -w hello.go 重写回源文件
5.goimports,可以根据代码需要, 自动地添加或删除import声明
go get golang.org/x/tools/cmd/goimports (被墙不能用)
命令行参数:
1.os包以跨平台的方式,提供了一些与操作系统交互的函数和变量。程序的命令行参数可从os包的Args变量获取;os包外部使用os.Args访问该变量。
2.切片是Go语言的基础概念,现在先把切片s当作数组元素序列, 序列的长度动态变化, 用s[i]访问单个元素,用s[m:n]获取子序列,序列的元素数目为len(s)
a = [1, 2, 3, 4, 5], a[0:3] = [1, 2, 3]
3.os.Args的第一个元素,os.Args[0], 是命令本身的名字,其他参数是os.Args[1:len(os.Args)] => os.Args[1:]
4.import导入两个包,括号括起来
5.Go语言只有for循环这一种循环语句
for initialization; condition; post {
}
for condition {
}
for {//无限循环
}
package main import (
"fmt"
"os"
) func main() { //定义两个string类型的变量
var s, sep string
//短变量声明i
for i := 1; i < len(os.Args); i++ {
s += sep + os.Args[i]
sep = " "
}
fmt.Println(s) //练习 1.1: 修改echo程序,使其能够打印os.Args[0],即被执行命令本身的名字
s1,sep1:="",""
for i := 0; i < len(os.Args); i++ {
s1 += sep1 + os.Args[i]
sep1 = " "
}
fmt.Println(s1)
//输出 /tmp/go-build124823637/command-line-arguments/_obj/exe/echo1 tsh ni
u bi }
6.for循环的另一种形式, 在某种数据类型的区间(range)上遍历,如字符串或切片。
循环迭代,range产生一对值;索引以及在该索引处的元素值。
_空标识符丢弃索引,arg是索引所对应的值
7.使用strings包的Join函数
8.只是为了调试可以直接打印
fmt.Println(os.Args[1:])
package main import (
"fmt"
"os"
"strings"
) func main() {
s, sep := "", "" //短变量声明
//循环迭代,range产生一对值;索引以及在该索引处的元素值。
//_空标识符丢弃索引,arg是索引所对应的值
for _, arg := range os.Args[1:] {
s += sep + arg
sep = " "
} fmt.Println(s) //使用strings包的Join函数
fmt.Println(strings.Join(os.Args[0:], " ")) //只是为了调试可以直接打印
fmt.Println(os.Args[1:]) //练习 1.2: 修改echo程序,使其打印每个参数的索引和值,每个一行。
s1 := ""
sep1 := "\n"
for index, arg := range os.Args[1:] {
index := fmt.Sprintf("%d ", index) //int转string
s1 += index + arg
s1 += sep1 } fmt.Println(s1)
//输出 0 tsh 1 niu 2 bi }
[日常] Go语言圣经-命令行参数的更多相关文章
- R语言 使用命令行参数运行R程序
args_test.R 代码如下: Args <- commandArgs()cat("Args[1]=",Args[1],"\n")cat(" ...
- [Objective-C语言教程]命令行参数(23)
执行时,可以将一些值从命令行传递给Objective-C程序. 这些值称为命令行参数,很多时候它们对程序很重要,特别是当想要从外部控制程序而不是在代码中对这些值进行硬编码时就很有用了. 命令行参数使用 ...
- C语言讲解命令行参数
命令行(command line):是在命令行环境中,用户为运行程序输入命令的行. 命令行参数(command-line argument): 是同一行的附加项. C编译器允许main()没有参数或者 ...
- c语言中命令行参数argc,argv[]详解
main(int argc,char *argv[ ]) 1.argc为整数 2.argv为指针的指针(可理解为:char **argv or: char *argv[] or: char argv[ ...
- C语言/Linux命令行参数argc、argv[ ]详解
1.void main(int argc,char *argv[]) argv[]:表示的是一个指针数组,一共有argc个元素,其中存放的是指向每一个参数的指针. argc:参数个数 2.以Linux ...
- Python 获得命令行参数的方法
如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢?需要模块:sys参数个数:len(sys.argv)脚本名: sys.argv[0]参数1 ...
- python中命令行参数
python中的命令行参数 python中有一个模块sys,sys.argv这个属性提供了对命令行参数的访问.命令行参数是调用某个程序时除程序名外的其他参数. sys.argv是命令行参数的列表 le ...
- 【C语言的日常实践(十二)】命令行参数
C计划main函数有两个参数.文章1一个通常被称为argc,它代表的命令行参数的个数. 第2个通常称为argv.它指向一组參数值. 指针数组:这个数组的每一个元素都是一个字符指针,数组的末尾是一个NU ...
- 我也要学C语言-第十九章:命令行参数
C语言的语法规定main函数是带连个参数的,因为当初是考虑是在控制台下写程序.于是用户可以给参数微控程序.其实现在的WINDOWS程序也可以带参数.一般正规军写的应该程序一般都带命令行参数,帮助文档, ...
随机推荐
- pageadmin CMS网站制作教程:
pageadmin CMS网站建设教程:模板中如何实现信息数据共享 很多时候信息数据需要共享,一个最常用的应用场景就是手机版(独立手机,非响应式)本共享pc版本数据,下面以这个场景为例讲解. 假设手机 ...
- linux 修改MTU值
Linux系统还可以通过如下方式查看.修改MTU值. 查看:cat /sys/class/net/eth0/mtu 设置:echo "1460" > /sys/class/n ...
- Debug Dart at External Terminal
launch.json { // Use IntelliSense to learn about possible attributes. // Hover to view descriptions ...
- dataframe.isnull()函数, DatetimeIndex,黄包车代码155行
待解决 feature 4 完全没懂 feature 5 219行: if (row.userid == action['userid'][row.max_index - 1]): ????
- Comparable接口——容器中自定义类排序
1.容器TreeMap,默认根据Key对象中某个属性的从小到大排列元素. (1)如下代码示例,Key是整型数字,所以按照其从小到大的顺序排列 public class TestTreeMap { pu ...
- python 匿名函数 lambda 的使用
在python中,lambda允许用户快速定义单行函数,当然用户也可以按照典型的函数定义完成函数.lambda的目的就是简化用户定义使用函数的过程. In [6]: s = lambda x: x+1 ...
- java中关键字static和final
面向对象的不足 凡是有利必有弊,强对象编程,使得语法简单统一,但也有其缺点,而且有很多.我们在接下来的课程里会一点点接触到.我们今天先看第一个. 有些变量和函数确实没必要定义在一个类里.强行规定这些函 ...
- AndroidManifest.xml文件安全探索
本文作者:i春秋签约作家——icq8756c1a2 最近在做一些apk的安全检测,对AndroidManifest.xml文件进行了研究和探讨,介绍AndroidManifest.xml文件的作用和架 ...
- JavaScript函数学习总结(一)---函数定义
博客原文地址:Claiyre的个人博客 如需转载,请在文章开头注明原文地址 在许多传统的OO语言中,对象可以包含数据,还可拥有方法,也就是属于该对象的函数.但在JavaScript中,函数也被认为是一 ...
- css之IE hack 方法[ IE6 - IE9]
ps: 由于近来需要研究IE下兼容问题,今天又再次翻起起这些针对IE的hack,于是决定写下这篇笔记,记录下这些本该献祭级浏览器下的处理方法,用于备忘 一.IE10以及以下版本均会生效(ie edge ...