go语言基础特性 | 青训营笔记

82 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天

由于之前在写别的项目,所以打算从今天起把之前的笔记补一补,今天首先是go语言基础特性的学习笔记

基本特性

go语言比较类似于c语言,并在此基础上加入了高性能和并发编程任务的支持,同时go语言本身是一门编译型语言,这也是其执行效率高的原因之一。

环境搭建过程

1、下载安装go,直接访问镜像站 https://studygolang.com/dl 下载安装即可
2、vscode之前已安装,这里直接在拓展里安装go插件即可

image.png 3、从仓库中克隆课程示例代码并运行

image.png

变量与类型

go语言的变量声明还是比较有特点的,首先像javascript一样,可以用var声明变量,但与js不同的是,go是强类型语言,可以通过零值初始化机制推导变量的类型信息,也就是说类型与值必须至少有一个,这样才能保证变量的良好定义。

go语言可以通过简短变量声明来初始化变量,表现为"名字 := 表达式"形式

    anim := gif.GIF{LoopCount: nframes}
    freq := rand.Float64() * 3.0

复合数据类型

另一个比较有特点的就是go语言的复合数据类型了,数组在平时并不常使用,而是使用切片进行操作,切片由指针、长度和容量三部分构成,指针指向首元素对应的底层数组元素的地址,切片内置append函数对元素进行添加

go语言通过Map实现哈希表,通过make函数创建一个,map中元素是无序的,不同的哈希函数实现方式会导致不同的顺序,如果需要按顺序则需要使用Strings函数

ages := make(map[string]int) // mapping from strings to ints

总结

其他的特性如函数、接口等的写法基本上都和其他语言相似,所以这里就不再赘述,通过对go语言基本特性的学习,感到go语言确实有自己的特点,在未来的学习道路上是必须进阶学习的内容,基本的写法主要还是需要自己多找些实例写写,这样有助于对基本语法的熟练掌握。