Go 语言入门指南:基础语法和常用特性解析 —— 后端第一课
Go语言的结构
总体来说,Go语言的结构可以按照以下的几块来分类
包声明 引入包 函数 变量 语句和表达式 注释
我们可以将经典的hello world程序按照结构来分类
package main
import "fmt"
func main() {
/* go code for print helloworld */
fmt.Println("Hello, World!")
}
package main
是包声明。你必须在源文件中非注释的第一行指明这个文件属于哪个包,其中main包较为特殊,每一个Go程序都需要一个main包import "fmt"
是引入包的语句。fmt包实现了格式IO的函数 -func main()
等定义了入口函数main,main 函数是每一个可执行程序必须包含的,一般会第一个执行,若有init函数,则在init后执行fmt.Println("Hello, World!")
是语句,使用fmt包中的函数进行输出/* go code for print helloworld */
是注释,其注释和c++相似,/* */
成对使用来多行注释,//
可以进行单行注释
tips:Go语言和C/C++不同,{无法单独放在一行
Go语言的执行
使用go run yourcode.go
来执行代码
使用go build yourcode.go
来将代码编译为二进制文件
Go语言的变量
Go语言的变量声明一般使用var
关键字来进行声明,在使用var进行关键字声明时,一般不用显式声明该变量的类型,var会自动判断,例如
var value=1314
当然可以使用显式声明,此时可以不用赋予变量初值,变量会自动被赋予0 nil "" false
等初始值,例如
var number int
var number1,number2 int
同时也可以使用:=
来声明一个变量,例如
number := 1314
其就相当于
var number int
number = 1314
其他变量的初始化及声明会在介绍的时候说明
Go语言中的常量
常量的声明和变量类似,但是必须使用const
来进行声明,例如
const number = 1
Go语言的条件语句
Go语言的if else 等写法和C/C++相同,其语法为
if condition {
/* exec if contion is true */
}
Go语言的switch语句和C/C++类似,但是无需再每一个case后追加break语句,具体的语法如下
switch value {
case val1:
...
case val2:
...
default:
...
}
Go语言的循环语句
和C/C++不同,Go只有一个for关键字来实现循环语句,其语法如下
for init; condition; exec { }
init 为变量的初始化,condition为变量的判断语句,true则继续执行,exec则是一些每次循环后执行的语句,常常用来改变变量
同时Go还可以实现类似于Python 中的for i in array
的语法,其语法如下
for value := array
同时可以使用range关键字来对array的index进行遍历
for index,value := rage array
总的来说,Go的语法较为轻便,且非常易于便携,同时也提供了较为方便的index循环,确实很是方便