本文意在帮助 Go 语言初学者在 Linux环境下编写自己的第一个Golang程序

难点主要在 VScode 中 Go 插件的下载 与 go.mod 以及编译运行和 第一个Go测试程序的使用

 

前提准备:安装Ubuntu20.4、安装Go并配置环境

 

1.下载并安装 VScode 编译器 (自行下载,不再赘述)

 

2.打开 VScode,按步骤安装中文插件以及对GO语言的支持

  • 先去你自己想要的位置创建一个文件夹用来存储go文件
  • 在 VScode 下打开该文件夹,在里面随便创建一个后缀命名为.go.的文件 (hello.go)
  • 然后跟着提示安装就行

3.安装 GO 各种工具插件(坑点)

  • 当弹出以下内容时,你可以 install VScode 提示你需要的工具插件(新手向)在Linux中使用VScode编写 "Hello,world"程序,并编写测试-Ubuntu20.4
  • 使用国内环境会提示安装失败(没办法,特殊原因)(新手向)在Linux中使用VScode编写 "Hello,world"程序,并编写测试-Ubuntu20.4
  • 解决办法很简单,在终端中输入以下内容即可
go env -w GO111MODULE=on
go env -w GOPROXY=https://proxy.golang.com.cn,direct
  • 重启 VScode,然后继续安装就没问题了

(新手向)在Linux中使用VScode编写 "Hello,world"程序,并编写测试-Ubuntu20.4

 

 

4.编写 Hello,World

package main

import "fmt"

func main() {
    fmt.Println("Hello, world")
}
  • 此时可以直接使用运行
go run hello.go 

 (新手向)在Linux中使用VScode编写 "Hello,world"程序,并编写测试-Ubuntu20.4

 

 

5.它是如何运行的

  • 用 Go 编写程序,你需要定义一个 main 包,并在其中定义一个 main 函数。包是一种将相关的 Go 代码组合到一起的方式。
  • func 关键字通过函数名和函数体来定义函数。
  • 通过 import "fmt" 导入一个包含 Println 函数的包,我们用它来打印输出。

 

6.如何测试

  • 你打算如何测试这个程序?将你「领域」内的代码和外界(会引起副作用)分离开会更好。fmt.Println 会产生副作用(打印到标准输出),我们发送的字符串在自己的领域内。
所以为了更容易测试,我们把这些问题拆分开。
 
package main

import "fmt"

func Hello() string {
    return "Hello, world"
}

func main() {
    fmt.Println(Hello())
}
  • 我们再次使用 func 创建了一个新函数,但是这次我们在定义中添加了另一个关键字 string。这意味着这个函数将返回一个字符串。
现在创建一个 hello_test.go 的新文件,来为 Hello 函数编写测试
 
package main

import "testing"

func TestHello(t *testing.T) {
    got := Hello()
    want := "Hello, world"

    if got != want {
        t.Errorf("got '%q' want '%q'", got, want)
    }
}
 
mod一下,再保存(必须要保存不然会出错)
go mod init {项目名}

 

  • 在解释这个测试之前,让我们先在终端运行 go test,它应该通过测试了!为了再次验证,可以尝试改变 want 字符串来破坏测试的结果。
 (新手向)在Linux中使用VScode编写 "Hello,world"程序,并编写测试-Ubuntu20.4

 (新手向)在Linux中使用VScode编写 "Hello,world"程序,并编写测试-Ubuntu20.4

 

 

以上,完成!