Windows 下Golang入门安装,以及第一次代码

Windows 下Golang入门安装,以及第一次代码


1.安装golang

作为中国使用者,必须去中文官网
作为windows铁粉,必须使用windows环境

由于官网下载推荐了google链接,国内无法访问,所以这里推荐国内的正版下载。
go语言中文网下载,里面提供了windows版本,使用MSI自动安装更方便:

在这里插入图片描述

在这里插入图片描述

windows安装就是比别的系统方便多了

2.配置环境

Golang安装时会在系统中“植入”一些变量,用于后续的使用,其中需要配置的有GOPATH,GOROOT,还有在系统自带的path变量中加上一些golang目录。

打开环境变量

右键我的电脑,属性,远程设置,高级,环境变量:
在这里插入图片描述

然后修改值:

在这里插入图片描述

GOPATH是你将要使用的工作目录(自己创建个喜欢的位置)(这里使用了名叫gowork)
注意:GOPATH目录中必须有src,pkg,bin三个子目录,否则无法使用

GOROOT是你安装的目录。

Path中加入两个元素:

在这里插入图片描述
这样使用指令行时,这两个目录下的软件就能用了。全局都能使用go指令。

测试

用go env观察变量(由于配置了Path,在任意目录下应该都能使用go指令):

在这里插入图片描述

完成


3.第一段代码hello world

GOPATH目录中必须创建3个子目录。src存放原代码,pkg存放包(库),bin存放可执行文件。
一般情况用户只用写src中的代码就行了,pkg和bin系统会自动编译并放入。

代码都要放在自己的文件夹里,所以这里先在src中创建hello文件夹。
在hello文件夹里创建hello.go,并打入代码:

package main

import "fmt"

func main(){
	fmt.Println("hello world")
}

在任意目录下(由于配置了GOPATH,任意目录均可)开始编译。

使用go build指令调试,没有返回信息就是代码正确,代码有错会返回错误信息。

这里的hello是目录名,系统会检查hello目录下所有的代码,这里只有hello.go

在这里插入图片描述
调试完成后用go install编译。

在这里插入图片描述

如果之前的配置正确,会在bin里面生成hello.exe文件。

如果之前在环境变量Path中正确添加添加 GOPATH里面的bin,那么hello指令可以直接使用,用来调用hello.exe

在这里插入图片描述

换个目录也能调用hello,你看:

在这里插入图片描述

4.创建第一个函数包(库)

在src里再创建一个目录,stringfun,在src/stringfun里创建stringfun.go(也可以叫别的名字,最好与文件夹同名)

打入代码:

package stringfun

func Reverse (s string) string{
	r:=[]rune(s)

	for i,j:=0,len(r)-1;i<len(r)/2;i,j=i+1,j-1 {
		r[i],r[j]=r[j],r[i]
	}

	return string(r)
}

接下来更改hello.go,用hello.go调用这个函数。
hello.go修改如下:

package main

import (
	"fmt"
	"stringfun"
)

func main(){
	fmt.Println(stringfun.Reverse("hello world"))
}

用go install hello编译
由于hello调用了stringfun,编译hello会自动编译stringfun

在这里插入图片描述

输出正确。是倒序。

5.测试

需要调用golang自带的testing包。
在想要测试的代码目录下,创建xxxx_test.go(后面的_test.go不能换)

这里测试stringfun.c中的Reverse函数。创建stringfun_test.go,打入代码:

package stringfun

import "testing"

func TestReverse(t *testing.T) {
	cases := []struct {
		in, want string
	}{
		{"Hello, world", "dlrow ,olleH"},
		{"Hello, 世界", "界世 ,olleH"},
		{"", ""},
	}
	for _, c := range cases {
		got := Reverse(c.in)
		if got != c.want {
			t.Errorf("Reverse(%q) == %q, want %q", c.in, got, c.want)
		}
	}
}

然后用go test stringfun来调用测试:

在这里插入图片描述

OK没事了。

6.小姐(打错了) 小结

作为一个windows铁粉,需要相信它的强大

在配置好了GOPATH与GOROOT后一切都会变的很简单。我在任意目录打开指令行,都可以使用go指令,因为它总会指向GOPATH指定的目录下。

go install 后接一个目录名,会编译目录中所有的代码,如果代码中用了import调用其他库,就连其他库一起编译。

属于同一个库的所有文件,必须package 同一个库。
可执行文件的头文件是package main。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值