• Windows安装Go语言及VScode配置


      最近搞自己的网站时突然想起来很多上学时的事,那会美国总统还是奥巴马,网页课教的是DreamWeaver跟Photoshop,其他语言像PHP、Java8、Python都有学一点,讲究一个所见即所得。虽然是信管专业那时和斌桑班长对新语言很感兴趣,现在准备将这些东西再从新学习一遍。

      Golang是Google公司在2007年开始开发的一种静态强类型、编译型语言。Go语言被设计成一门简单、高效且可靠的编程语言,旨在解决大规模网络服务和分布式系统开发中的复杂性问题。Go语言结合了动态语言的开发速度和C/C++等编译型语言的性能与安全性,提供了强大的网络编程和并发编程支持。

      Golang中文网下载地址:Go下载 - Go语言中文网 - Golang中文社区 (studygolang.com)

    我下载的 .msi 格式,下载后直接安装在一个顺眼的地方,安装完成后将Go文件夹里bin文件夹的存储路径添加到环境变量,在安装时会自动生成一个用户变量GOPATH.

    随后使用 win + r  打开 amd,在终端输入:

    go version
    

    Golang安装成功,随后再输入以下代码查看Golang的环境变量:

    go env

     

    之后打开VScode,下载 Go 和 Code Runner 插件,新建一个文件夹,里面在新建三个文件夹

    • src目录:用于以代码包的形式组织并保存Go源码文件。这些源码文件包括库源码文件、命令源码文件和测试源码文件。所有的Go源代码都应该放在这个目录下,这是Go命令行工具的一个强制规则。
    • pkg目录:用于存放经由go install命令构建安装后的代码包(包含Go库源码文件)的“.a”归档文件。与GOROOT目录下的pkg功能类似,区别在于,工作目录中的pkg目录专门用来存放用户代码的归档文件。这个目录无需手动创建,如果必要,Go命令行工具go mod init 在构建过程中会自动创建。
    • bin目录:在通过go install命令完成安装后,保存由Go命令源码文件生成的可执行文件。这个目录也是自动创建的,无需手动创建。所谓命令源码文件,就是可以独立运行,可被gobuild或goinstall命令转换成可执行文件。
    • 从Go 1.11开始引入的Go模块改变了这一做法,不再需要显式地设置这些目录,因为模块提供了更好的依赖管理和构建机制,可以将代码直接放在工作区的根目录下。

     对于使用Go模块的项目需要,在环境变量中加入 GOPATH 指向工作目录 ,但是从Go 1.14版本开始,GOPATH的默认值已经足够好,通常不需要显式设置。

    设置好后在VScode终端输入:

    go mod init 项目导入路径(cd到新建go项目文件夹的上一级文件夹使用)

     这个路径会是你的代码仓库的URL或者是你的项目的导入路径。例如项目托管在GitHub上,并且你的用户名是GGBond,项目名是GGBoy,那么你可以使用github.com/GGBond/GGBoy作为模块路径。

    如果只是想在本地使用一个简单的名称,可以

    go mod init GGBoy

    随后便在文件夹生成 go.mod 文件 

    有些情况需要在终端输入:

    set GO111MODULE = on

    安装GO语言服务器gopls,用于编译静态文件

    go install golang.org/x/tools/gopls@latest

     

    这时可以新建一个 .go 文件,在里面写入:

    1. package main
    2. import "fmt"
    3. func main() {
    4. fmt.Printf("hello world")
    5. }

    点击即可运行。

    可以使用 go build 来构建你的项目,构建的可执行文件默认会在当前目录下创建。不再需要关心bin目录,因为Go工具会处理这些细节。 

    go build -o GGBoy GGBond/BigDick.go  
    

    需要添加其他依赖项的话,可以使用 go get

    go get github.com/some/dependency

    大概的结构

    1. BigDick/
    2. ├── go.mod
    3. ├── main.go
    4. └── ggboy/
    5. └── ggboy.go

     

  • 相关阅读:
    机器学习几种常见凸函数的证明
    每天五分钟计算机视觉:基于KNN算法完成图片分类任务
    程序员应了解的那些事(111)~进程、线程及堆栈关系
    k8s 多网卡方案multus
    【前端精进之路】JS篇:第3期 执行上下文
    QT点击事情实现图片切换
    计算机毕业设计(79)php小程序毕设作品之体育馆场地预约小程序系统
    什么是逗号表达式
    Java 下数据业务逻辑开发技术 JOOQ 和 SPL
    强大的开源API接口可视化管理平台-YApi
  • 原文地址:https://blog.csdn.net/m0_73500130/article/details/136475946