Go语言环境搭建

发布时间:2023-05-23

一、安装Go语言

1、在官网 https://golang.org/dl/ 下载对应操作系统的安装包。

2、根据官网提供的说明进行安装。


# macOs 下载安装包并进行安装
$ wget https://dl.google.com/go/go1.15.5.darwin-amd64.pkg
$ sudo open go1.15.5.darwin-amd64.pkg

# Windows  下载安装包并进行安装
在官网下载安装包.exe, 点击安装。

3、测试环境是否安装成功。在命令行中输入go version。如果返回当前安装的Go语言的版本信息,说明Go语言已经安装成功。


$ go version
go version go1.15.5 darwin/amd64

二、安装编辑器

推荐使用Visual Studio Code进行Go语言的开发,因为Visual Studio Code支持Go语言的强大扩展插件,如Go缩写,格式化,检查工具等。

1、下载并安装Visual Studio Code编辑器。

2、在Visual Studio Code中下载并安装Go语言插件。

3、在Visual Studio Code中打开Go语言项目,开始开发工作。

三、Go语言编译器的基本使用

1、新建一个go源文件main.go。


package main

import "fmt"

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

2、 编译运行Go程序。在命令行中输入go run main.go。


$ go run main.go
Hello, World!

四、Go语言项目的构建

1、在命令行中进入项目根目录,输入go build。该命令会将所有的Go源文件编译成一个可执行文件。


$ cd ~/myproject/
$ go build

2、运行Go项目。在命令行中输入./myproject就会运行Go项目。


$ ./myproject
Hello, World!

五、Go语言包的使用

1、新建一个go源文件message.go,在message.go中定义Message()函数和变量Message。


package message

var Message string = "Hello from message.go"

func SayHello() {
    fmt.Println("Hello, World!")
}

func SayMessage() {
    fmt.Println(Message)
}

2、在main.go源文件中引用message包中的函数和变量。


package main

import (
    "fmt"
    "myproject/message"
)

func main() {
    message.SayHello()
    message.SayMessage()
}

3、编译运行Go程序。在命令行中输入go run main.go。


$ go run main.go
Hello, World!
Hello from message.go

六、Go语言文件处理

1、新建一个go源文件file.go,在file.go中定义CreateFile()函数。


package file

import (
    "fmt"
    "os"
)

func CreateFile() {
    file, err := os.Create("test.txt")
    if err != nil {
        fmt.Println(err)
        return
    }
    defer file.Close()
    file.WriteString("Hello, World!")
}

2、在main.go源文件中引用file包中的函数。


package main

import (
    "myproject/file"
)

func main() {
    file.CreateFile()
}

3、编译运行Go程序。在命令行中输入go run main.go。


$ go run main.go

七、Go语言并发编程

1、新建一个go源文件goroutine.go,在goroutine.go中定义goroutine()函数。


package goroutine

import (
    "fmt"
    "time"
)

func goroutine(n int) {
    for i := 0; i < 3; i++ {
        fmt.Println(n, ":", i)
        time.Sleep(time.Millisecond * 100)
    }
}

2、在main.go源文件中引用goroutine包中的函数。


package main

import (
    "myproject/goroutine"
)

func main() {
    for i := 0; i < 3; i++ {
        go goroutine.Goroutine(i)
    }
    time.Sleep(time.Second)
}

3、编译运行Go程序。在命令行中输入go run main.go。


$ go run main.go