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来修正错误