1.os.Args是做什么的

Python09

1.os.Args是做什么的,第1张

仅为个人阅读时遇到的困惑的理解

2021.6.16

《GO语言圣经》-《GO程序设计语言》

P3

在命令行中运行 go run main.go 123

会输出 123

在命令行中分别输入(注意空格)

(1) go run main.go 123

(2) go run main.go 1 2 3

(1)中输出结果

第一行是go命令的位置

第二行是for循环内的“一个参数”的结果

第三行是for循环外的最终结果

(2)中输出结果

第二行是for循环内“第一个参数”的结果

第三行是for循环内“第一个和第二个参数”的结果

以此类推。

(3)如果空格大于一个,仍会以一个空格输出

这时我才理解到书中所讲述的:

也就是以空格分隔代表新的一个参数。

本文介绍一些Go语言的基础语法。

先来看一个简单的go语言代码:

go语言的注释方法:

代码执行结果:

下面来进一步介绍go的基础语法。

go语言中格式化输出可以使用 fmt 和 log 这两个标准库,

常用方法:

示例代码:

执行结果:

更多格式化方法可以访问https://studygolang.com/pkgdoc中的fmt包。

log包实现了简单的日志服务,也提供了一些格式化输出的方法。

执行结果:

下面来介绍一下go的数据类型

下表列出了go语言的数据类型:

int、float、bool、string、数组和struct属于值类型,这些类型的变量直接指向存在内存中的值;slice、map、chan、pointer等是引用类型,存储的是一个地址,这个地址存储最终的值。

常量是在程序编译时就确定下来的值,程序运行时无法改变。

执行结果:

执行结果:

Go 语言的运算符主要包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符以及指针相关运算符。

算术运算符:

关系运算符:

逻辑运算符:

位运算符:

赋值运算符:

指针相关运算符:

下面介绍一下go语言中的if语句和switch语句。另外还有一种控制语句叫select语句,通常与通道联用,这里不做介绍。

if语法格式如下:

if ... else :

else if:

示例代码:

语法格式:

另外,添加 fallthrough 会强制执行后面的 case 语句,不管下一条case语句是否为true。

示例代码:

执行结果:

下面介绍几种循环语句:

执行结果:

执行结果:

也可以通过标记退出循环:

--THE END--

仅为个人阅读时遇到的困惑的理解,希望友善讨论

2021.6.25

《GO语言圣经》-《GO程序设计语言》

P5

在命令行中运行

go run main.go 一 二三 四

得到的结果

在命令行中运行

go run main.go 一 二三 四

得到的结果

range 获取一个范围,

有两个返回值,在本例中分别是 i 和 arg 。

第一个返回值 i 总是从0开始的,和 range 取范围的值(也就是本例中的 os.Args )无关。(也就是本例中 os.Args[1:] 虽然是从 os.Args 的1值开始取的,但是在 range 中还是0)。

第二个返回值 arg 是切片的结果。

我理解的: range 将 os.Args 切成一个数组,先返回数组下标,再返回数组内容。