go 语言程序设计第1章--入门

1.1 hello, world

helloworld.go

go 复制代码
package main

import "fmt"

func main() {
	fmt.Println("Hello, World")
}

执行 go run helloworld.go 运行程序。

构建和执行.

bash 复制代码
go build helloworld.go 
./helloworld

1.2 命令行参数

变量 os.Args 是一个字符串 slice.

echo1.go

go 复制代码
package main

import (
	"fmt"
	"os"
)

func main() {
	var s, sep string
	for i := 1; i < len(os.Args); i++ {
		s += sep + os.Args[i]
		sep = " "
	}
	fmt.Println(s)
}

变量如果在声明时没有初始化,它将隐式地初始化为这个类型的空值。例如,对于数字化初始化结果是0,对于字符串是空字符串 "".

for 是 Go 里面的唯一循环语句。有几种形式。

for initialization; condition; post {

// 零个或多个语句

}

// 传统的 "while" 循环

for condition {

//

}

// 传统的无限循环

for {

// ...

}

另一种形式的 for 循环在字符串或 slice 数据上迭代。

echo2.go

go 复制代码
package main

import (
	"fmt"
	"os"
)

func main() {
	s, sep := "", ""
	for _, arg := range os.Args[1:] {
		s += sep + arg
		sep = " "
	}
	fmt.Println(s)
}

以下几种声明字符串变量的方式是等价的:

复制代码
s := ""
var s string
var s = ""
var s string = ""

echo3.go

go 复制代码
package main

import (
	"fmt"
	"os"
)
func main() {
	fmt.Println(strings.Join(os.Args[1:], " "))
}
相关推荐
文慧的科技江湖6 分钟前
重卡的充电桩一般都是多少千瓦? - 慧知开源充电桩平台
java·开发语言·开源·充电桩开源平台·慧知重卡开源充电桩平台
小白学大数据11 分钟前
爬虫技术选股:Python 自动化筛选潜力股
开发语言·爬虫·python·自动化
悟能不能悟11 分钟前
jasper里面$F和$P的区别
开发语言·后端
辰风沐阳14 分钟前
JavaScript 的 WebSocket 使用指南
开发语言·javascript·websocket
短剑重铸之日15 分钟前
《7天学会Redis》Day 3 - 持久化机制深度解析
java·redis·后端·缓存
独自破碎E23 分钟前
【前序+中序】重建二叉树
java·开发语言
萧曵 丶27 分钟前
Spring 全套高频面试题(由浅到深 完整版)
java·后端·spring
武子康28 分钟前
大数据-213 Python 手写 K-Means 聚类实战(鸢尾花 Iris 数据集):从距离函数到迭代收敛与坑点
大数据·后端·机器学习
神奇小汤圆30 分钟前
MySQL大事务的Recovery优化
后端
2301_7657151435 分钟前
C语言轮子制造
c语言·开发语言·制造