笔记标题 | 青训营笔记

117 阅读2分钟

GO语言基础语法

GO语言与C、C++语言等的区别在于定义变量时类型后置,不需要括号,代码逻辑相似,代码效率更高,对于指针等抽象概念弱化,在原有基础上增加了跟多合理性的操作。

1、Hello World!

package main //文件属于main包的一部分,main包是程序的入口包,文件即是程序的入口文件

import( "fmt" ) //导入标准库里的format包,主要用于输入输出字符串,格式化字符串

func main() { fmt.Println("Hello World!") } //调用函数

2、变量类型

Go语言是一门强类型语言,每一个变量都有它自己的类型,常见的类型包括字符串、整数、浮点型、布尔型。 字符串是类置类型,可以直接通过“+”拼接,也可以通过“=”比较两个字符串 大部分运算符的优先级和C、C++类似

//变量声明

var a = "initial"

var b,c int = 1, 2

var d = true

var e float64

f := float32(e)

g := a + "foo"

//常量声明

const s string = "constant"

const h = 300000000

const i = 3e20/h

3、if-else

if-else后没有括号,其余用法跟C、C++语言用法相同

4、循环

GO语言中没有while循环,只有for循环,可用_代替默认条件

5、条件选择

switch后的变量名不需要括号,默认不需要break,不会运行其他的分支 不限制于整数类型,同样适用于字符串类型

6、数组

一组长度固定的元素序列

b := [5]int{1, 2, 3, 4, 5}

7、切片

一个长度可变的数组,可以任意时刻更改长度 使用make创建切片,使用append追加元素,结构必须赋值回原数组,使用copy拷贝数据

s = append(s, "d")

8、map

在其他语言中称为哈希或字典,使用make创建一个空map,第一个类型是key类型,第二个类型是value类型 不是按插入顺序或排序顺序输出,是偏随机的顺序

9、range

对于一个切片或map,可以快速遍历,对于数组返回两个值,第一个值是索引(如不需要,可用下划线free),第二个值是对应位置的值

对于map,第一个值是key,第二个值是value

10、函数

go语言中函数的类型后置,通常有多个返回值,第一个返回值是真正的返回值,第二个值是判断错误信息

11、错误处理

使用一个单独的返回值来传递错误信息,不同于Java,能够很清晰地知道哪里发生了错误,并通过简单的if-else来修正错误