go初学

一、网址参考

  1、go语言学习(英文,github)

  2、Go语言圣经(中文版)《The Go Programming Language》

  3、Go 零基础编程入门教程

  3. Go 语言设计与实现

  4. VSCode搭建Go开发环境(2020-04-13更新)

  4. ubuntu18.04下安装go开发环境以及开发工具goland

       5. Go语言入门教程,Golang入门教程(非常详细)

  6. golang使用总结:GOPATH和GOROOT区别,GOPATH 需要配置多个吗?

  7. 用 Goland和 VS Code 搭建Go 语言开发环境

  8. 下载地址:https://golang.google.cn/dl/

  9. 跳出Go module的泥潭

  解决问题:

  1.  package 'xxx' is not in GOROOT(csdn, linux环境)

  2. “package XXX is not in GOROOT” when building a Go project(stack overflow, windows环境)

二、实践操作

  1、设置环境变量,即编译器路径

  2、编写源码+Makefile文件

  3、编译:go build

    编译+运行: go run

  4、安装go开发环境

    4.1 下载go开发环境: https://golang.google.cn/dl/

    4.2  将下载的二进制包解压至 /usr/local目录(linux系统)

rm -rf /usr/local/go && tar -C /usr/local -xzf go1.14.3.linux-amd64.tar.gz

    4.3 添加GOPATH(GOPATH为自己创建的存放GO项目的工作目录[不建议同GOROOT为同一个路径],可以有多个,以:分隔,但是使用go get 下载的包默认会装到第一个GOPATH下)
      linux: export GOPATH=$HOME/Go

      windows: 修改“环境变量”或者输入命令:go env -w GOPATH=我们自己的工作区路径

    4.4 添加GOROOT
      export GOROOT=/usr/local/go

    4.4 设置 GOPROXY和打开GOMOD

      1)linux 平台

        export GOPROXY=https://goproxy.cn  

        由于,国内的网络有防火墙的存在,这导致有些Go语言的第三方包我们无法直接通过go get 命令获取,很多项目会编译通不过,提示错误:

go: github.com/DataDog/zstd@v1.4.0: Get "https://proxy.golang.org/github.com/%21data%21dog/zstd/@v/v1.4.0.mod": dial tcp 142.251.42.241:443: i/o timeout

        export GO111MODULE=on

      2) windows平台

        默认值:GOPROXY=https://proxy.golang.org,direct

        修改方法: go env -w GOPROXY=https://goproxy.cn,direct

        打开GOMOD: go env -w GO111MODULE=on

    4.5 添加PATH (linux)
      export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

    4.6 测试

      1) go version

      2) 创建一个test.go的文件,写入 

package main

import "fmt"

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

      在test.go目录下执行

go run test.go

  如果出现Hello, World!就说明go的环境已经安装成功

  4.7 go的环境变量(windows)

    1)查看  go env

    2)修改: go env -w name=value, 如:

go env -w GO111MODULE=off

  4.8 解决编译报错“package hello is not in GOROOT (C:\Program Files\Go\src\hello)”

    1)上述错误是在运行 go build hello时,报错的

    2)解决办法:go env -w GO111MODULE=off, 参考解决问题文档2

        或者在目录下运行go mod init,  会生成一个.mod文件(感觉相当于新建了一个工程,包含了目录下的所有文件)然后再运行go build hello

    3)如果是linux环境,可以运行:    

1. export GO111MODULE=off

2. 或者在目录下运行
   go mod init
  然后在目录下运行:
  go build hello

 

      

posted @ 2021-01-23 10:25  shanyu20  阅读(141)  评论(0编辑  收藏  举报