go_basic - ShenYj/ShenYj.github.io GitHub Wiki
Go是一种静态类型、垃圾回收、并发简单的编程语言,由Google开发。它的设计目标是让程序员更高效地编写简洁、可靠的代码。
Go语言的发展历程如下:
2009年,Robert Griesemer、Rob Pike和Ken Thompson在Google开发了Go语言。
2012年,Go语言发布了1.0版本。
2015年,Go语言发布了1.4版本,引入了GC(垃圾回收)。
2019年,Go语言发布了1.13版本,引入了模块系统。
Go语言的核心设计原则包括:
简单性:Go语言的语法和特性都是简洁的,让程序员更专注于编写代码。
并发性:Go语言的并发模型是基于goroutine和channel,让程序员更轻松地处理并发问题。
可靠性:Go语言的垃圾回收和内存管理机制让程序员更容易编写可靠的代码。
可扩展性:Go语言的模块系统和工具链让程序员更容易构建大型项目。
Go语言的主要应用场景包括:
Web开发:Go语言的并发性和性能使得它成为一个优秀的Web框架(如golang.org/x/net/context)的选择。
微服务:Go语言的轻量级和高性能使得它成为一个优秀的微服务框架(如golang.org/x/time/ticker)的选择。
数据处理:Go语言的高性能和并发性使得它成为一个优秀的数据处理框架(如golang.org/x/sync/singleflight)的选择。
官网下载直接安装好后,通过终端确认
❯ go version
go version go1.24.0 darwin/amd64
需要配置的环境变量
-
GOROOT: go 语言所在的目录, 用于全局执行go相关的命令
❯ which go /usr/local/go/bin/go
-
GOPATH: 工作目录,工程代码存放的位置,此目录下,一个文件夹就是一个工程
- GOPATH是一个环境变量,用来表明你写的go项目的存放路径
- GOPATH路径最好只设置一个,所有的项目代码都放到GOPATH的src目录下
GOPATH目录约定有三个子目录
- src: 存放源代码, 比如 .go .c .h .s等
- pkg: 管以后生成的文件,比如 .a
- bin: 编译后生成的可执行文件(为了方便,可以八次目录加入到$PATH变量中)
-
GOPROXY: 代码,由于go需要翻墙使用,需要配置代理
设置好后可以通过 go env
查看设置是否生效
MAC 系统下你可以使用 .pkg 结尾的安装包直接双击来完成安装,安装目录在 /usr/local/go/ 下
// 导入包的子句在每个源文件的开头。
// main比较特殊,它用来声明可执行文件,而不是一个库。
package main
// Import语句声明了当前文件引用的包。
import "fmt"
func main() {
// 往标准输出打印一行。
// 用包名fmt限制打印函数。
fmt.Print("Hello World!")
}
除了上面的单独导入, 还可以多个导入
// Import语句声明了当前文件引用的包。
import (
"fmt" // Go语言标准库中的包
"io/ioutil" // 包含一些输入输出函数
m "math" // 数学标准库,在此文件中别名为m
"net/http" // 一个web服务器包
"os" // 系统底层函数,如文件读写
"strconv" // 字符串转换
)