基于go的hello word
package main

import ("fmt")

func main() { 
	fmt.Println("Hello Word")
}

执行顺序
go build hello.go

go build 生成 .exe的可执行文件==>运行.exe执行文件

go run hello.go

编译和执行 一步到位

编译过程

编译:即将go语言转换成二进制可执行文件的过程

go build hello.go 
  1. 会默认生成一个hello.exe的可执行文件,windows环境下双击可执行。而且这个exe文件内置了go的sdk,即可以将这个.exe文件拷贝到没有go环境的机器中执行
  2. 如果直接拷贝go源码到其他机器,则该机器需要有go的环境才能执行
  3. exe的可执行文件不需要再执行编译过程,即exe的可执行文件启动速度较快

如果需要指定build过程生成exe文件的名字,则可以使用-o参数来给编译过程指定生成的目标文件的名字,windows下必须为.exe后缀的文件名才行。

go build -o he.exe hello.go

上述指令会将hello.go文件编译生成he.exe文件。
如果程序有错误,编译过程中会报错,并提示是哪一行出错。

go程序开发注意事项
  1. go程序的后缀是.go
  2. go程序的执行入口是main函数
  3. go语言严格区分大小写
  4. go方法由一条条语句构成,每个语句后不需要分号(简洁性) 在语句后加分号是没有意义的
  5. go编译器是一行一行编译的,不能把多个语句写在同一行
  6. go语言定义的变量或者import的包如果没有使用到,代码不能编译通过
  7. 大括号{}是成对出现,缺一不可
  8. 同一个文件夹下的go文件不能同时为package main的包 即不能有多个程序执行入口
go语言的转义字符(escape char)
转义字符功能介绍
\t制表符,通常用来对齐
\n换行符
\\第一个为转义标识 第二个"\"为显示的字符
\"一个”
\r一个回车,从当前行的最前面开始输出 覆盖之前的内容

例如:

package main

import "fmt"

func main() {
	fmt.Println("F:\\go_projects\\demos")
}

输出:

F:\go_projects\demos

package main

import "fmt"

func main() {
	fmt.Println("你好世界,我是\rLvan")
}

Lvan世界,我是

package main

import "fmt"

func main() {
    fmt.Println("姓名\t年龄\t学号")
	fmt.Println("吴京\t30\t2021000")
	fmt.Println("吴奇隆\t30\t2021001")
	fmt.Println("Lvan\t20\t2021002")
}

有表格对齐的功能

在这里插入图片描述

go语言的注释

注释可以提高代码的可读性,可维护性
注释可以体现代码的思想
被注释的代码不会影响代码的执行
块注释不可嵌套

行注释:

//表示注释当前行后的内容

package main

import "fmt"

func main() { //{不能单独占一行
	// 这是一个行注释
	//fmt.Println("这个不能输出的,被注释了")
	fmt.Println("这个可以输出")
}

可以同时选中多行 按ctrl + /进行多行一次性注释

块注释:

/* 块注释开始标记
*/ 块注释的结束标记
/* 嵌套的多行的内容*/

package main

import "fmt"

func main() { //{不能单独占一行
	// 这是一个行注释
	//fmt.Println("这个不能输出的,被注释了")
	fmt.Println("这个可以输出")
	/*
		多行注释
		多行注释
	*/
}
代码风格
  1. go官方推荐使用行注释来注释整个方法和语句
  2. 正确使用缩进和空格
    2.1 使用一次tab可以实现代码整体右移动 使用shift+tab整体向左移动
    2.2 使用gofmt来进行格式化
    2.3 运算符两边习惯性各加一个空格 如1 * 2 * 4
  3. go语言的设计者思想为一个问题只有一个解决方案
  4. 当一行代码太长时,需要进行换行处理 如输出内容过长时,可以将内容以逗号的形式分割后换行 如:
    fmt.Println(“这个可以输出这个可以输出”,
    “这个可以输出这个可以输出这个可以”,
    “输出这个可以输出这个可以输出这个可”,
    “以输出这个可以输出这个可以输出”)
package main
func main() 
{ 
}

上述这种就是错误的,不被允许的 { 不能独占一行