GO注意事项

目录结构
-goSpace [go项目workspace]
|--src|--go_code|--project01 [**一个项目,项目内每个文件夹对应一个包**]|--project02 [**另一个项目**]<br />
基础语法
转义字符、注释
常用的转义字符有以下几个:
\t : 表示一个制表符(tab), 通常可以使用它进行排版;\n : 表示一个换行符;\\ : 表示一个反斜线;\" : 表示一个";\r : 表示一个回车(从当前行的最前面开始输出,覆盖以前的内容);
举例:
package mainimport "fmt"func main() {fmt.Println("hello\\world")fmt.Println("hello\tworld")fmt.Println("hello\"world")fmt.Println("人生得意需尽欢\r")fmt.Println("人生得意需尽欢\rok")fmt.Println("一二三四\n五六")}

注释
//行注释 (推荐)/*块注释*/
包、函数、变量
包
每个 Go 程序都是由包构成的。程序从 main包开始运行。main 包从 main函数开始运行。
package main //此包名,按照约定,包名与导入路径的最后一个元素一致。//单个导入import "fmt"import "math"//分组导入import ("fmt""math/rand")
函数
package mainimport "fmt"//函数可以没有参数或接受多个参数。func add(x int, y int) int {return x + y}func main() {fmt.Println(add(42, 13))}//当连续两个或多个函数的已命名形参类型相同时,除最后一个类型以外,其它都可以省略。func add(x, y int) int {return x + y}//函数可以返回任意数量的返回值。func swap(a,b string) (string, string){return b,a}//调用时a, b := swap("hello", "world")
//命名返回值// Go 的返回值可被命名(sum),它们会被视作定义在函数顶部的变量。func swap(a,b int) (sum int){sum = a + breturn sum}//没有参数的 return 语句返回已命名的返回值。也就是 直接 返回。//直接返回语句应当仅用在下面这样的短函数中。在长的函数中它们会影响代码的可读性。func swap(a,b int) (sum int){sum = a + breturn}
变量
var 语句用于声明一个变量列表,跟函数的参数列表一样,类型在最后。
就像在这个例子中看到的一样,var 语句可以出现在包或函数级别。
package mainvar y = 10var a,b,c boolvar (j,p,k intname string)func main() {var i int}
//变量的初始化//变量声明可以包含初始值,每个变量对应一个。//如果初始化值已存在,则可以省略类型;变量会从初始值中获得类型。func main() {var c, python, java = true, false, "no!"fmt.Println(i, j, c, python, java)}
//短变量声明//在函数中,简洁赋值语句 := 可在类型明确的地方代替 var 声明。//函数外的每个语句都必须以关键字开始(var, func 等等),因此 := 结构不能在函数外使用。func main() {var i, j int = 1, 2k := 3c, python, java := true, false, "no!"fmt.Println(i, j, k, c, python, java)}
