Go语言基础语法

110 阅读2分钟

Go语言基础语法

一、基础语言

1、特点

1高性能、高并发 2语法简单、学习曲线平缓 3丰富的标准库 4完善的工具链 5静态链接 6快速编译 7跨平台 8垃圾回收

类似于C语言,学习时间短,部署快,编译快,跨平台,

案例代码:

package main
import(
	"net/http"
)
func main() {
    http.Handle("/",http.FileServer(http.Dir(".")))
    http.ListenAndServe(":8080",nil)
}

哪些公司在使用GO:

1.png

2、字节跳动为什么全面拥抱 Go 语言

1 , 最初使用的 Python,由于性能问题换成了 Go 2 , C++ 不太适合在线 web 业务 3 , 早期团队非 Java 背景 4 , 性能比较好 5 , 部署简单、学习成本低 6 , 内部 RPC 和 HTTP 框架的推广

二、工程实践

1、配置开发环境

2.png

我是用Golong配置相应的开发环境的

其他环境:

在线基于云的开发环境

gitpod.io/#github.om/… 短链接 : hi-hi.cn/gitpod

2、基础语法

package main
import(
	"fmt"
)
func main() {
    fmt.Println("hello world!")
}

Go是一门强类型语言

变量声明:var声明变量、:=声明变量等等方式

3.png

if:没有括号、必须直接写{}

4.png

循环:没有while、do while,for循环写法如图

5.png

switch方式:不会跑其他分支

6.png

数组

7.png

切片

Go 语言切片是对数组的抽象。 Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。

8.png

Map

Map 是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,Map 是无序的,遍历 Map 时返回的键值对的顺序是不确定的。在获取 Map 的值时,如果键不存在,返回该类型的零值,例如 int 类型的零值是 0,string 类型的零值是 ""。Map 是引用类型,如果将一个 Map 传递给一个函数或赋值给另一个变量,它们都指向同一个底层数据结构,因此对 Map 的修改会影响到所有引用它的变量。

9.png

range:参数中第一个key,第二个value

10.png

函数

11.png

结构体:没有初始化的是空值 12.png

结构体方法:

13.png

错误处理:

14.png

字符串操作

15.png

字符串格式化

16.png

时间处理

17.png

数字解析

18.png

进程信息

19.png