我的环境:macOS:10.14.5
1、官网地址:https://golang.org/dl/,官网下载pkg文件到本地,一路安装即可。
2、安装后通过go version
或go env
来查看是否安装成功
这里的第一个工程,参考官网的例子,https://www.youtube.com/watch?v=XCsL89YtqCs
package main
import "fmt"
func main(){
fmt.Println("hello worls!")
}
go install
,将其编译为可执行文件。(1)在此之前需要先设置GOPATH,否则将会有如下报错,因为不知道将可执行文件放在哪里。
PS:go install
用于编译并安装指定的代码包及它们的依赖包(2)设置GOPATH
export GOPATH=~/Documents/goExe/goTest1/
(3)设置成功后,再执行go install
,生成的可执行文件会自动生成在goTest1/bin下。此时发现根目录下多了一个bin目录。
4. 执行文件
==方法1:==在goTest1/bin/下,可直接执行hello文件。但是每次编译完都要去到bin目录下很不方便,所以我们可以采用方法(2)
==方法2:==给bin目录设置一个快捷路径,在PATH变量中添加上bin的路径:
export PATH=~/Documents/goExe/goTest1/bin:$PATH
那如果hello.go类想引用另一个string.go类的方法该如何处理呢
package string
func Reverse(s string) string{
b := []byte(s)
for i := 0; i < len(b)/2; i++ {
j := len(b) - i - 1
b[i], b[j] = b[j], b[i]
}
return string(b)
}
package main
import (
"fmt"
"demo/string"
)
func main(){
fmt.Println(string.Reverse("hello world!"))
}
go build
、go install
,则会在src目录下生成一个pkg目录,如图。go build
命令用于编译我们指定的源码文件或代码包以及它们的依赖包。package string
import "testing"
func Test(t *testing.T) {
var tests = []struct {
s, want string
}{
{"Backword", "drowkcaB"},
{"Hello, 世界", "界世,olleH"},
{"", ""},
}
for _, c := range tests {
got := Reverse(c.s)
if got != c.want {
t.Errorf("Reverse(%q) == %q, want %q", c.s, got, c.want)
}
}
}
go test
,测试未通过,输出如下:参考文章:https://www.cnblogs.com/fengff/p/11434399.html