初识Go语言|青训营笔记

387 阅读2分钟

这是我参与【第五届青训营】伴学笔记创作活动的第1天,我选择的在VsCode上面配置go环境。

go官网下载对应的操作系统版本的go开发工具,然后打开VSCode,搜索安装go插件。

image.png

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 对。