Go 语言基础语法和特性| 青训营

78 阅读2分钟

初识go语言

  • go语言是一款编译型语言,也就是直接翻译成机器码执行,不需要像解释型语言依赖多余的环境(比如java,python就是解释型语言)
  • go语言拥有良好的并发和并行性,创建的协程和通道可以高效处理并发任务

数据变量

变量的声明

声明一个go语言的变量
注意,与其他语言相比,go的数据类型是在变量名后面的,这点需要花时间适应

// var声明变量 name为变量名 type为变量类型 value为变量值
var name type = value

你可能看过不少其他go入门指南,他们会说很多种声明变量初始化的方式,其实只需要记住两种快速上手
情况一:需要一个变量,但是暂时不用

// 声明一个字符串类型的name
var name string

情况二:不需要繁琐的声明,简短的声明

// 此时age自动变成整型
age := 17

基础数据类型

int 整型
float 浮点型
bool 布尔类型

name := 12     // 整型
score := 87.5  // 浮点型
pass := true   // 布尔类型

string 字符串类型
Go语言并没有单引号,只有双引号表示字符或者字符串,如果多行则可以使用反引号

sentence := "hello world"

paragraphs := `aaa
bbb
ccc`

条件语句

if语句

if条件语句通过大括号包裹
Go语言的条件不需要加上括号
注意,if条件语句强制要求else不换行

if a > 5 {
    // a大于5时
} else {
    // a小于5时
}

循环语句

适用于计数器使用的情况

for i:=0;i<10;i++{
    // c语言风格的写法
}  

Go语言只有for循环语句,但是我们可以使用它来实现while循环

for a > 5 {
    // 当a大于5时会一直执行
}

迭代器也是最常用的方式遍历一些数据结构类型

for i,j := range a {  // a := {"one":1,"two":2}
    // 迭代器遍历
}

选择语句

不需要像c语言那样每一个语句结束都使用break
Go支持多个case组合在一起
同样可以设置表达式判断

var a = 1
switch a{
	case 1:
		code
	case 2,3:
		code
	case a > 6:
		code
	default:
		code
}