GO语言基础语法(根据自己的理解)
GO语言的一些特点(自己认为更加明显的一些特点)
- 高性能、高并发
- 语法简单、学习曲线平缓
- 丰富的标准库
- 快速编译
- 跨平台
- 垃圾回收
基础语法
变量
通过var a = "initial"方式或者f := a + "foo"等方式对变量进行定义,变量类型定义在最后
条件判断
使用if else if else 来对条件进行判断,也不需要加小括号,需要注意的是{ } 两个大括号之间需要换行,否则报错。
循环
和java语言一样,只是不需要写括号等
switch
和其他语言不同的是,不使用break时,不会出现穿透现象
数组
数组的大小定义在变量类型之前 var a [5]int
切片
和pythony语法一样,但是不支持负数索引 例如:如果s数组的值为 [a,b,c],则下列代码的输出结果为
fmt.Println(s[:1]) //[a]
map
定义时的语法:m := make(map[String]int),取值时的语法:r,ok = m["unknow"]
range
语法 i,num := range nums 就是将nums数组里面的索引i和对应的值num取出来
函数
使用func关键字来对函数进行定义,同时与其他大部分的编程语言不同的是,返回值中会多出一个错误的返回值 如果该值为空那么就执行正常,否则执行失败
指针
和C语言类似
结构体
和C语言类似,定义时的格式
type 结构体名称 struct {
}
结构体方法
就是普通的方法的返回值定义在了形参的前面,然后返回值为结构体。如果想要结构体为指针,那么就在返回值上面加上 * ,例如:u *user
对于错误的处理
返回结果的同时接收错误,同时判断 err != nil 如果判断结果为真,那么就抛出错误
字符串的格式化与字符串的操作
调用自带的库里面的函数即可
JSON处理、时间处理、数字解析、进程信息
调用相关方法即可
总结:
整体上,Go语言相较于其他大部分语言具有轻量级的优点!!!