Go语言基础

46 阅读2分钟

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

特点

  1. 高性能、高并发

    与C++媲美,不需要很多第三方库支持

  2. 语法简单、学习曲线平缓

    类似C语言

  3. 丰富的标准库

  4. 完善的工具链

    支持单元测试等

  5. 静态链接

    部署方便

  6. 快速编译

  7. 跨平台

    甚至可以编译出二进制文件到路由器上运行

  8. 垃圾回收

    与Java类似,无需考虑内存释放

如何编译

go run ProName   #编译运行
go build ProName #编译出二进制文件
./ProName #运行上面二进制文件

补充:Go语言特性:

  1. 并发

    引入goroutine,它是Go实现快速高效的并发编程的关键,通过调用go关键字,就可以让函数以goroutine的方式进行运行,也就是以协程为单位进行运行。

    协程比线程更加的轻量级,也更节省系统资源,这使得我们可以创建大量的goroutine,从而进行轻松且高质量的并发编程。同时,goroutine内部采用管道channel进行消息传递,从而实现共享内存。

  2. 错误处理

    与C不同,函数通过返回错误类型error或者bool类型表名函数的执行结果,调用检查返回的错误类型值是否是nil来判断调用结果。并引入defer关键字用于标准的错误处理流程,提供了内置函数panicrecover完成异常的抛出与捕捉。

  3. 垃圾回收

    自带垃圾回收,不需要delete或free。

  4. 多返回值

    与python类似,函数支持多返回值,不需要为了一次返回多个值而创建结构体等。

    另外:可以选择具体需要返回的值,只需要使用下划线作为占位符来丢掉不要的返回值即可。

  5. 匿名函数

    Go支持常规的匿名函数和闭包,开发者可以随意对匿名函数变量进行传递和调用

f := func(x,y int) int {
    return x+y
}