• Linux & Go & Vscode & 插件


    Linux Deepin 安装Go

    安装Go环境

    
    sudo apt-get install golang
     
    

    验证一下:

    输入

    $ go env
    
    

    输出

    GOARCH="amd64"
    GOBIN=""
    GOCACHE="/home/sunchong/.cache/go-build"
    GOEXE=""
    GOHOSTARCH="amd64"
    GOHOSTOS="linux"
    GOOS="linux"
    GOPATH="/home/sunchong/go"
    GORACE=""
    GOROOT="/usr/lib/go-1.10"
    GOTMPDIR=""
    GOTOOLDIR="/usr/lib/go-1.10/pkg/tool/linux_amd64"
    GCCGO="gccgo"
    CC="gcc"
    
    

    安装IDE

        我这里选择了vs code
        应用商店或者官网上安装好vscode
    
        安装go 插件:搜索一下插件,安装量最高的那一个就是,Go for Visual Studio Code
    

    安装Go组件

        当我们正想愉快的使用IDE进行开发go时,保存后会提示我们安装go相关的组件。。。
    
        我们点击安装 Install  All
        有几个是可以安装成功的,有几个死活也装不上啊,开启FQ也不行。
    
    Installing github.com/nsf/gocode SUCCEEDED
    Installing github.com/uudashr/gopkgs/cmd/gopkgs SUCCEEDED
    Installing github.com/ramya-rao-a/go-outline FAILED
    Installing github.com/acroca/go-symbols FAILED
    Installing golang.org/x/tools/cmd/guru FAILED
    Installing golang.org/x/tools/cmd/gorename FAILED
    Installing github.com/fatih/gomodifytags SUCCEEDED
    Installing github.com/haya14busa/goplay/cmd/goplay SUCCEEDED
    Installing github.com/josharian/impl FAILED
    Installing github.com/rogpeppe/godef SUCCEEDED
    Installing sourcegraph.com/sqs/goreturns FAILED
    Installing github.com/golang/lint/golint FAILED
    Installing github.com/cweill/gotests/... FAILED
    Installing github.com/derekparker/delve/cmd/dlv SUCCEEDED
    

    下面我们按照这个步骤再来一下

    1. $GoPath/src/golang.org/x/tools

        你的GoPath 目录下是否存在以上文件夹?没有新建
      
    2. tools 目录下我们git一下

          git clone https://github.com/golang/tools.git 
      
    3. tools 下会有一个tools文件夹

             拷贝出来替换tools
      
    4. 执行命令

    go install github.com/ramya-rao-a/go-outline
    
    go install github.com/acroca/go-symbols
    
    go install golang.org/x/tools/cmd/guru
    
    go install golang.org/x/tools/cmd/gorename
    
    go install github.com/josharian/impl
    
    go install github.com/rogpeppe/godef
    
    go install github.com/sqs/goreturns
    
    go install github.com/golang/lint/golint
    
    go install github.com/cweill/gotests/gotests
    
    go install github.com/ramya-rao-a/go-outline
    
    go install github.com/acroca/go-symbols
    
    go install golang.org/x/tools/cmd/guru
    
    go install golang.org/x/tools/cmd/gorename
    
    go install github.com/josharian/impl
    
    go install github.com/rogpeppe/godef
    
    go install github.com/sqs/goreturns
    
    go install github.com/golang/lint/golint
    
    go install github.com/cweill/gotests/gotests
    

    写点啥吧

    package main
    
    import (
    	"fmt"
    	"os"
    )
    
    func main() {
    	if len(os.Args) > 1 {
    		fmt.Println("Hello World", os.Args[1]+os.Args[2])
    	}
    
    	if len(os.Args) > 2 {
    		fmt.Println("sunchong", os.Args[1]+os.Args[2])
    	}
    }
    

    切到这个文件目录下,执行一下:

        go run hello_world.go 1 2
    

    结果是

        Hello World 12
        sunchong 12
    

    单元测试

    新建 Test.go 文件

    package test
    
    import "testing"
    
    
    func TestSwitch(t *testing.T) {
    	i := 5
    	switch i {
    	case 1, 2, 3, 4, 5:
    		t.Log("yes")
    	case 6:
    		t.Log("yes2")
    	}
    }
    

    点击 run test | debug test

    输出可爱的结果~~

    vscode 输出test结果

    有时 vscode 不能输出结果,那么需要进行一下配置:

        文件 -- 首选项 -- 设置 -- 搜索 test 
    
        工作区设置 -- go test 
    

        这样设置:"go.testFlags": ["-v"]
    

    go 代码保存后自动运行单元测试

    这样我们可以高效地写我们的单元测试并能快速试错。

  • 相关阅读:
    Linux进程间通信:父子进程通过信号通信,实现交替数数,时间间隔1秒
    Ubuntu18 给terminal改个漂亮的命令行提示符
    int型、char*、string、的swap算法
    C++中的友元函数的总结
    C++内联函数
    static作用,静态成员变量和静态成员函数
    9——对象的创建和撤销,构造函数和析构函数
    如何用敏捷搞垮一个团队?
    .Net核心中间件httpContext不支持并发读写 Concurrent reads or writes are not supported.
    CentOS 7 MySQL5.7 多实例(多端口)
  • 原文地址:https://www.cnblogs.com/sunchong/p/11373017.html
Copyright © 2020-2023  润新知