第一章 入门

90 阅读1分钟

第一章 入门

1.1 Hello, World

package main  
  
import "fmt"  
  
func main() {  
    fmt.Println("Hello,世界")  
}

命令执行:go run helloworld.go

go build helloworld.go:生成一个可执行文件 helloworld.exe,输入'./helloworld' 即可执行

main包:它定义了一个独立可执行的程序,而不是一个库。main包里的main函数是整个程序执行时的入口。

Go语言不需要在语句或者声明的末尾添加分号,除非一行上有多条语句。但是实际上,编译器会主动把特定符号后的换行符转换为分号,因此换行符添加的位置会影响Go代码的正确解析。例如:函数的左括号 { 必须 func 函数声明在同一行上,且位于末尾,不能独占一行;在表达式 x + y 中,可以在 x 后换行,不能在 + 前换行(以+结尾不会被插入分号)

go get golang.org/x/tools/cmd/goimports:可以根据代码需要,自动地添加或删除import声明

1.2 命令行参数

1、大多数的程序都是处理输入,产生输出;这也正是“计算”的定义。
2、os包以跨平台的方式,提供了一些与操作系统交互的函数和变量。程序的命令行参数可从os包的Args变量获取;os包外部使用os.Args访问该变量。
3、os.Args变量是一个字符串(string)的切片(slice)。
4、os.Args的第一个元素:os.Args[0],是命令本身的名字;其它的元素则是程序启动时传给它的参数。

package main  
  
import (  
"fmt"  
"os"  
)  

func main() {  
    fmt.Println(os.Args[0])  
    // 隐式地赋予  空字符串 ""
    var s, sep string     
    for i := 0; i < len(os.Args); i++ {  
        s += sep + os.Args[i]  
        sep = " "  
    }  
    fmt.Println(len(os.Args))  
    fmt.Println(s)  
}

输出:
A:\GoProject\Go语言圣经\exefile\go_build_main_go.exe
1
A:\GoProject\Go语言圣经\exefile\go_build_main_go.exe

1.3 查找重复的行