第一个go 程序——hello world
package main
import "fmt"
func main(){
p("rocky")
}
/* block comment */
func p(name string){
fmt.Println("Hello," + name)
}
// single line comment
/*
func p(){
fmt.Println("Hello world!")
}
*/
一些简单的语法特性
上面的简单的代码,用到了go lang的如下一些特性:
- 代码第一行写明package;上例中,使用一个文件单独运行的程序必须放在package main下面,否则在go run运行时会报错:”go run: cannot run non-main package“
- import 包名必须带引号;多个包名可以使用多次import;也可以将包名用引号括起来后,用换行符连接,然后在最外层包裹圆括号;
- import不能引用代码中没有使用的包,否则编译时会报错:”imported and not used: xxx“
- ”{“必须紧跟代码,不能在新行中出现;
- main作为程序入口,不能携带参数,命令行参数使用os.Args变量获取;
- 注释有块注释/* */和单行注释// 两种;
- 定义func格式: func func_name(输入参数)(返回参数——可省略){} ;
- func定义不支持重载(overload)
hello world中的“坑”
别小看了上面这几行代码,坑着实不少:
- package 不是main,导致无法运行
- import fmt没有用双引号 “” 包裹包名称,导致无法运行
- 对go run / go install / go build 等的理解和使用