这是我参与【第五届青训营】伴学笔记创作活动的第1天,我选择的在VsCode上面配置go环境。
在go官网下载对应的操作系统版本的go开发工具,然后打开VSCode,搜索安装go插件。
go语言在高性能分布式系统领域,有着更高的开发效率,更有利于游戏服务端的开发。
从第一个helloworld.go来认识一下go的最基本格式
package main
import "fmt" //导包
func main() {
fmt.Println("Hello, World!")
}
运行时使用go run命令
go run helloworld.go
什么是go语言
go语言是谷歌出品的一门编译语言,循环方面只使用了一种for循环来实现其他功能,go语言的一个特点是学习周期短,上手更容易一点,它有自己的标准库,更稳定,编译更快;同时它具有垃圾回收的功能,不需要过多的考虑内存空间。
go基本语法
常见的变量类型有字符串、整数、浮点数、bool类型,字符串可以直接使用“+”来拼接。
fmt.Println("Hello"+"World")
输出为
HelloWorld
变量的声明
第一种用var声明
var 变量 类型=值
第二种用:=声明
变量:=值
常量的声明
将var改成const即可
const name [类型] =值,在定义常量过程中可以省略类型,它可以根据上下文自动确定类型。
条件语句
if 条件表达式{
执行语句
}else{
执行语句
}
去掉了if后面的括号。
循环语句
go中的循环语句和C语言差不多
for init; condition; post { }
也可以省略一些条件。
数值
var a= [5] int
数组的长度固定,使用在go语言中更多的是使用切片(可变长度的数组)
切片
使用make创建一个切片,append追加元素,copy用于拷贝数据
s:=make([]string,2)
s[0]="a"
s[1]="b"
s=append(s,"c")
c:=make([]string,len(s))
copy(c,s) //把s拷贝给c
map
map 是一种无序的键值对的集合。map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。
map 是一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,map 是无序的,我们无法决定它的返回顺序,这是因为 map 是使用 hash 表来实现的。 两种方法定义map:
var name=map[key_type]value_type
name:=make(map[key_type]value_type)
插入key-value对,通过查找key值输出value
name[key]=value
删除key-value
delete(name,key)
range
go 语言中 range 关键字用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value 对。