Go语言基础简介
Go语言之所以被广泛使用是因为它在服务端的开发中,总能抓住程序员的痛点,以最直接、简单、高效、稳定的方式来解决问题。它支持高性能、高并发,具有丰富的标准库和完善的工具链。以前的go语言是静态链接的;现在的go语言不仅支持静态链接也支持动态编译。总的来说,go语言在一般默认情况下是静态链接的,但是一些特殊的情况,例如使用了CGO(即引用了C代码)的地方,则会使用操作系统的动态链接库。它还支持跨平台、有垃圾回收的功能,语法简单使得学习者学习曲线平缓,容易上手。
开发环境
主要是安装Golang,使用VSCode或者GoLand配置集成开发环境、也可以基于云进行开发。
基础语法
Go的基础语法主要是会import标准库fmt或别的集成好的库,在main函数中进行库的调用和相关操作。总体来说都非常简易,初学者不用在这上面花很多时间。
- 声明变量的一般形式是使用 var 关键字: var name type 其中,var 是声明变量的关键字,name 是变量名,type 是变量的类型。
- if else和别的语言是一样的,只不过不用写括号
- Go没有提供while和do……while这两种循环,只提供了灵活的for循环机制,因为go的for去掉分号,等价于C的while。
- Go语言的switch语句和别的语言类似,属于Go语言条件语句,用于基于不同条件执行不同动作,每一个case分支都是唯一的,从上至下逐一测试,直到匹配为止。
- 切片是围绕着动态数组的概念来构建的,它跟数组类似,是用于管理数据。
- map使用到了key-value对的形式。
- range关键字用于 for 循环中迭代数组 (array)、切片 (slice)、通道 (channel)或集合 (map)的元素。在数组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value 对。 for 循环的range格式可以对 slice、map、数组、字符串等进行迭代循环。
- 在Go中定义和实现结构体及方法和JAVA类似。
- 利用error库进行错误处理很方便,不会“遮蔽”流程控制。
- strings库操作字符串时不用像C记忆很多类型的打印字母,直接在printf中写上%v就能打印。
- encoding/json库提供了json处理。json处理类似python,非常方便。
- time库中很快就能打印当前时间或者对系统时间进行自定义操作。
- 从字符串解析出数字是一个基本的而且很常见的任务。Go内置的strconv库提供了数字解析功能。
- os库能够打印进程的信息,便于客户端的开发。
学习建议
掌握Go语言基础语法的最好方法就是多多练习,多多敲代码。Practice makes perfect!