在go语言中可以使用两种创建变量的方法
使用var可以自动识别变量的类型
= 是赋值语句
:=是声明类型(编译器帮你做的)并赋值
x:= 300
var a ="300"
使用:=后无法再用:=声明同一个变量 此时只能使用=
打印变量使用fmt.Println关键词
在golang中较多使用切片,数组用的较少,切片要使用make关键字创建
如arr:=make([]string,3)这样就创建了一个元素个数为3类型为string的arr数组
使用copy关键字能够直接复制切片到另一个大小大于等于此切片的切片中
使用append关键字可以在切片后添加新的元素arr = append(arr,"p")
可以打印切片中的任意元素
数组也可以创建
如arr2:=[]string{"g","o","o","d"}
创建字典
m:=make(map[string]int)
m["one"]=1
m["two"]=2
输出结果
用delete(m,"元素名")删除字典中的元素
其他创建字典的方法
m1:=map[string]int{"a":666,"b":999}
var m2=map[string]int{"a":666,"b":999}
使用ok关键字可以查找字典中有无该元素
r,ok :=m["two"]
fmt.Println(r,ok)
有的话返回ture,没有返回false
range遍历关键字
nums := []int{2, 3, 4}
for i, num := range nums {
fmt.Println("index:", i, "value:", num)
}
i表示为正在遍历第几次,num则表示在nums数组中遍历该次数所表示的元素
定义加法函数
func add(a int, b int) int {
return a + b
}
定义加法函数方法2
func add1(a, b int) int {
return a + b
}
函数的使用及传参跟C语言中并无太大区别,结构体的创建和C语言中也无太大区别,只是要注意在golang中要把结构体成员的类型放在后面进行定义
error处理错误返回信息
golang中,type是非常重要的关键字,一般常见用法就是定义结构,接口等
type stu struct {
name string
age int
}
type stu1 struct {}
type a stu1 //定义新的类型
defer是golang提供的一种用于注册延迟调用的机制:让函数或语句可以在当前函数执行完毕后(包括通过return正常结束或者panic导致的异常结束)执行。
defer语句通常用于一些成对操作的场景:
-
打开链接/关闭链接
-
加锁/释放锁
-
打开文件/关闭文件
f, _ := os.Open("defer.txt") defer f.Close()
以上就是我初学go语言所了解的基础语法(不全),还有很多的关键字需要了解和记忆!大家一起加油!