我是名PHP工作者,在工作中,PHP会有些局限性,就比如前段时间,就听到老大讲,某某部分用PHP写太慢了,换用go来完成。是的,PHP是最好的语言确实带有调侃的味道,它只是一种易上手的语言。其实所有的语言都只是完成项目的一种工具,这个不行就用其他的来弥补就好了。于是,今天开始了学习go的旅程。
Go 语言环境配置
因为我的电脑是Mac,所以我只使用了Mac的安装方式。
UNIX/Linux/Mac OS X, 和 FreeBSD 安装
1.下载 go1.9.2.linux-amd64.tar.gz
2.解压 go1.9.2.linux-amd64.tar.gz 到 /usr/local 目录
tar -C /usr/local -xzf go1.9.2.linux-amd64.tar.gz
3.将 /usr/local/go/bin 目录添加至 PATH 环境变量
export PATH=$PATH:/usr/local/go/bin
Mac 其它安装方法
1.使用 brew(brew install go)
xxx@xxxideMacBook-Air ~ % brew install go
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 3 taps (homebrew/services, mongodb/brew and exolnet/deprecated).
==> Updated Formulae
Updated 5 formulae.
==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/bottles/go-1.15.2.catalina.bottle.tar.gz
######################################################################## 100.0%
==> Pouring go-1.15.2.catalina.bottle.tar.gz
🍺 /usr/local/Cellar/go/1.15.2: 9,774 files, 494.3MB
==> `brew cleanup` has not been run in 30 days, running now...
Removing: /usr/local/Cellar/brotli/1.0.7... (25 files, 2.2MB)
Removing: /usr/local/Cellar/c-ares/1.16.1... (74 files, 519.4KB)
Removing: /Users/lijiwei/Library/Caches/Homebrew/curl-openssl--7.72.0_1.catalina.bottle.tar.gz... (1.1MB)
Removing: /usr/local/Cellar/erlang/23.0... (6,275 files, 288MB)
Removing: /usr/local/Cellar/gdbm/1.18.1... (20 files, 586.8KB)
Removing: /usr/local/Cellar/libidn/1.35... (72 files, 1.4MB)
Removing: /Users/lijiwei/Library/Caches/Homebrew/openldap--2.4.53.catalina.bottle.tar.gz... (2.7MB)
Removing: /usr/local/Cellar/openssl@1.1/1.1.1g... (8,059 files, 18MB)
Removing: /usr/local/Cellar/sqlite/3.32.1... (11 files, 4MB)
Removing: /usr/local/Cellar/wxmac/3.0.5.1... (810 files, 23.0MB)
Error: Permission denied @ apply2files - /usr/local/lib/docker/cli-plugins
2.直接下载 .pkg 结尾的文件 go1.9.2.darwin-amd64.pkg, 然后双击安装
显示 Go 语言版本
如下,就表示已经装好了。
xxx@xxxdeMacBook-Air ~ % go version
go version go1.15.2 darwin/amd64
运行go文件
创建个hello.go文件,放在自己的项目目录里。
package main
import "fmt"
func main () {
fmt.Println("Hello World!")
}
进入项目目录,在终端端运行hello.go文件
xxx@xxxdeMacBook-Air trait % go run hello.go
Helo,World!
看到Hello World,学程序的都懂了,完美成功了。
注意点
- 错误一
代码:
package main
import 'fmt'
func main()
{
fmt.Println('Helo,World!')
}
运行结果:
xxx@xxxdeMacBook-Air trait % go run hello.go
hello.go:3:8: illegal rune literal
illegal这个单词报错比较常见,【不合法】,golang对引号使用还是很严格的,使用双引号包裹字符串,否则报上面那个错误。
- 错误二
代码:
package main
import "fmt"
func main(){
fmt.Println("Helo,World!")
}
运行结果:
xxx@xxxdeMacBook-Air trait % go run hello.go
# command-line-arguments
./hello.go:5:6: missing function body
./hello.go:6:1: syntax error: unexpected semicolon or newline before {
和其它语言不太一样 ," { "不能单独成一行,每个语句也不必加上分号。