Hello Go! | 青训营笔记

98 阅读2分钟

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

Go简介

计算机软件经历了数十年的发展,形成了多种学术流派,有面向过程编程、面向对象编程、函数式编程、面向消息编程等,这些思想究竟孰优孰劣,众说纷纭。

除了OOP外,近年出现了一些小众的编程哲学,Go语言对这些思想亦有所吸收。例如,Go语言接受了函数式编程的一些想法,支持匿名函数与闭包。再如,Go语言接受了以Erlang语言为代表的面向消息编程思想,支持goroutine和通道,并推荐使用消息而不是共享内存来进行并发编程。总体来说,Go语言是一个非常现代化的语言,精小但非常强大。

Go 语言最主要的特性:

  • 自动垃圾回收
  • 更丰富的内置类型
  • 函数多返回值
  • 错误处理
  • 匿名函数和闭包
  • 类型和接口
  • 并发编程
  • 反射
  • 语言交互性

Go语言用途

Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。

对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。

我的第一个Go程序

第一个Go程序Hello.go, 代码如下:

package main  
  
import "fmt"  
  
func main() {  
    fmt.Println("Hello, World!")  
}

运行可以使用go run命令。 执行以上代码输出:

$ go run hello.go
Hello, World!

此外我们还可以使用go build命令来生成二进制文件:

gobuildhello.gogo build hello.go ls
hello hello.go
$ ./hello
Hello, World!

Go的其他命令

命令说明
bug打开默认浏览器,显示go的github页面进行bug报告,并会自动添加系统的信息
build编译指定的源码文件或代码包及依赖包
install安装编译后的文件到指定目录
get动态获取远程代码包及其依赖包,并进行编译和安装
mod对go包的管理
run编译并运行源码文件
clean删除执行其他命令时产生的文件或目录
fmt检查并格式化成go语言的规范格式
list列出当前安装的包
version查看当前go的版本
env查看当前go的环境变量