关于《go程序设计语言》书中一个OS样例的坑(对于初学者来说)

// echo.go
/*
    这是我的第二个程序,按照<<GO程序设计语言>>这本书写的,
    书里面的程序其实是有坑的,就是FOR循环给变量i赋值的时候,
    书中赋值为1(其实应该赋值为0 的)
    导致程序写完后,什么都没有打印出来。这给我头疼的,
    后来几经检查才找到问题。os.args是一个slice(可以简单理解为数组)
    当里面只有元素是长度是1 ,导致FOR循环压根就没有进入
    这算是本书的一个经典错误吧
20170902 其实书中说的也没问题,因为书中的例子是打印参数的 下表为 0 的是命令名称本身。
所以也不算有问题,但是对于初学者来说,就很容易被坑到
*/
package main
 
import (
    "fmt"
    "os"
)
 
func main() {
    var s, sep string
    for i := 0; i < len(os.Args); i++ {
        s += sep + os.Args[i]
        sep = " "
        fmt.Println(os.Args[i])
    }
    fmt.Println(s)
}

                
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值