zoukankan      html  css  js  c++  java
  • 【go语言学习】go语言开发环境搭建

    一、下载和安装

    官方网站 https://www.golang.org/
    国内网站 https://golang.google.cn/

    二、配置环境变量

    1、gopath

    GOPATH是早期的设置方式,将工作目录设置GOPATH到全局环境变量。

    GOROOT:C:/go     // go语言的安装地址
    GOPATH:E:/gopath // go的工作目录
    PATH:C: /go/bin  // 将环境变量加入路径
    

    GOPATH目录结构:

    goWorkSpace  // (goWorkSpace为GOPATH目录)
      -- bin     // golang编译可执行文件存放路径,可自动生成。
      -- pkg     // golang编译的.a中间文件存放路径,可自动生成。
      -- src     // 源码路径。按照golang默认约定,go run,go install等命令的当前工作路径(即在此路径下执行上述命令)。
    

    这种方式在实际操作中会有如下问题:
    如果我们把所有项目都放在同一个GoPath的src包下,那么项目的结构就会变得非常混乱,难以管理。
    如果我们建立不同的GoPath来管理我们的项目,那么不同GoPath下的src中下载大量重复的第三方依赖包,这同样会占用大量的磁盘空间。

    2、gomod

    go mod 正是为了解决上述问题(并不单单是上述问题,还有依赖引用问题)。

    GoModule就是一个用来取代GoPath的Golang的工作空间。
    GoPath我们用来存放我们从网上拉取的第三方依赖包。
    GoModule我们用来存放我们自己的Golang项目文件。
    

    通过以下命令查看go环境配置:

    go env
    

    通过以下命令开启GoModule

    $env:GO111MODULE = "on"
    

    通过以下命令设置代理服务

    $env:GOPROXY="https://goproxy.cn",direct
    

    进入到 myproject目录下执行 go mod init myproject 就会创建出一个go.mod文件,myproject即为一个GoModule目录。当我们需要引入GoPath目录下的第三方依赖包的时候,只需要在go.mod目录下添加依赖名称,GoModule就会自动帮我们把第三方依赖包下载到GoPath目录下。

    // module 语句指定包的名称
    module myproject
    
    go 1.15
    
    // require 语句指定的依赖项模块
    require (
    	github.com/astaxie/beego v1.12.1
    	github.com/go-sql-driver/mysql v1.5.0
    )
    
    // replace 语句可以替换依赖项模块 
    // 由于某些已知的原因,并不是所有的package都能成功下载,比如:golang.org下的包。
    // modules 可以通过在 go.mod 文件中使用 replace 指令替换成github上对应的库。
    replace (
    	golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a => github.com/golang/crypto v0.0.0-20190313024323-a1f597ede03a
    )
    
    // exclude 语句可以忽略依赖项模块
    exclude (
    	github.com/satori/go.uuid v1.2.0
    )
    

    go mod 命令:

    命令 描述
    go mod init 在当前目录项目下初始化mod
    go mod tidy 拉取依赖的模块,移除不用的模块
    go mod vendor 将依赖复制到vendor下
    go mod edit 编辑go.mod
    go mod verify 验证依赖是否正确

    三、配置开发工具

    1、 下载vscode

    vscode下载地址https://code.visualstudio.com/

    2、 安装中文汉化插件chinese和第三方go语言插件

    再次运行vscode或运行项目时会提示我们安装go语言插件的依赖包,install all都可以自动安装成功。

    四、第一个golang程序

    在F:go_project目录创建main.go,输入代码:

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

    可以通过以下三种方式执行go程序:
    1、 通过cmd命令提示符进入该目录,执行go build main.go会在当前目录生成main.exe可执行文件,控制台执行./main.exe,可在终端输出hello world
    2、 通过cmd命令提示符进入该目录,执行go run main.go可运行go程序,在终端输出hello world
    3、 通过cmd命令提示符进入该目录,执行go install main.go可在GOPATH下的bin文件夹生成main.exe,在任意终端下(path下已添加GOPATH下的bin目录)执行main.exe,可在终端输出hello world

  • 相关阅读:
    读《高效能人士的七个习惯》有感
    Springboot中的日志
    fastjson JSON.toJavaObject() 实体类首字母大写属性无法解析问题
    java多线程编程实例
    IDEA插件配置推荐
    Spring Boot 自定义数据源 DruidDataSource
    zookeeper环境搭建
    eureka注册中心的使用
    记事本编码
    Chrome浏览器基本操作
  • 原文地址:https://www.cnblogs.com/everydawn/p/13848797.html
Copyright © 2011-2022 走看看