在Windows上搭建Go开发环境

2023-10-27

Go语言是由谷歌开发的一个高性能、跨平台的编程语言。

安装Go

首先先来安装一下Go语言的SDK,目前Go语言的最新版本为Go 1.8.3 。Go下载页面列出了各种操作系统的安装包。如果选择Windows MSI安装包的话,会将Go安装到C:\Go。如果不希望将Go安装到C盘,就需要自己下载Windows版本的ZIP文件,手动安装并设置环境变量。我这里就是这么做的。

下载完成之后解压,得到go文件夹,将该文件夹放到合适的位置。然后添加环境变量GOROOT并将值设置为刚才的安装位置。并将%GOROOT%\bin添加到环境变量PATH中。最后打开命令提示符输入以下命令测试一下是否安装成功。如果出现了相应的版本号,说明我们已经安装好了Go。

C:\Users\asddf>go version
go version go1.8.1 windows/amd64

安装Go IDE

Go语言的IDE还不太成熟,目前还没有一整套解决方案。下面列举几个比较常用的编辑器/开发环境。

  • Vim/Emacs。高手们使用的。
  • Atom/VS Code。通过安装相应的插件实现语法高亮、自动补全、代码检查等功能,推荐。
  • Gogland。Jetbrains的Go开发环境,不过现在还在早期构建阶段,不太稳定。

创建第一个项目

首先我们需要设置GO的工作目录,这需要设置GOPATH环境变量。设置完成之后,GO的临时文件就会放到这个环境变量所对应的目录中。

这里使用VS Code作为编辑器来编写Go代码。首先需要在VS Code中安装Go插件。然后第一次打开.go类型文件的时候,VS Code会提示安装一些插件来激活Go语言调试等功能。全部安装完成之后,我们就可以开始了。

在VS Code中打开一个文件夹,然后新建文件hello.go,并写入以下内容。

package main

import "fmt"

func main() {
    fmt.Printf("你好,世界\n")
}

在安装完全部插件之后,点击调试菜单->在不调试的情况下启动,或者按Ctrl+F5即可编译代码,然后我们就可以在下面的终端窗口中看到运行结果了。这样一来,Go语言的开发环境就搭建好了。

截图

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Windows上搭建Go开发环境 的相关文章

  • 在 Windows 上将 Word2vec 与 Tensorflow 结合使用

    In 本教程文件 https github com tensorflow models blob master tutorials embedding word2vec py L45通过 Tensorflow 找到以下行 第 45 行 来加
  • Windows 上的 wchar_t 和 char16_t 是一样的吗?

    我有一个实例std u16string 我可以通过它吗c str 到一个 Win32 API 它期望LPCWSTR 没有任何类型的转换 例如 我可以安全地这样做吗 auto u16s std u16string u Hello SetWin
  • Sigar API for JAVA(需要指南)

    我已经下载了 Sigar API http support hyperic com display SIGAR Home http support hyperic com display SIGAR Home 并希望在项目中使用它来获取有关
  • c 编程检查是否按下按键而不停止程序

    如您所知 在 Windows 中使用 getch 时 应用程序会等待您按下某个键 我如何在不冻结程序的情况下读取密钥 例如 void main char c while 1 printf hello n if c getch 谢谢 您可以使
  • 检测反射 DLL 注入

    在过去的几年中 恶意软件 以及一些渗透测试工具 如 Metasploit 的 meterpreter 负载 已经开始使用反射 DLL 注入 PDF http www harmonysecurity com files HS P005 Ref
  • Windows 上本机 C++ 应用程序中的自动死代码检测?

    背景 我有一个用原生 C 编写的应用程序 花了几年的时间 大约有 60 KLOC 有很多函数和类已经死了 可能有 10 15 就像下面提出的类似的基于 Unix 的问题 我们最近开始对所有新代码进行单元测试 并尽可能将其应用于修改后的代码
  • 阴影空间示例

    EDIT 我接受了下面的答案 并添加了我自己的代码的最终修订版 希望它向人们展示影子空间分配的实际示例 而不是更多的文字 编辑 2 我还设法在 YouTube 视频 所有内容 的注释中找到了一个调用约定 PDF 的链接 其中有一些关于 Li
  • Node.js 客户端中的 Windows 集成身份验证

    当使用node js作为客户端时 是否可以使用Windows集成身份验证连接到服务器 例如连接到IIS时 我对此的搜索仅出现使用 node js 作为服务器的结果 2015 年更新 现在有一些模块实现了 Windows 集成身份验证 节点
  • 我试图理解为什么在使用 paramiko 1.7.6 时出现“权限被拒绝”错误

    谁能告诉我为什么我会收到以下错误 Traceback most recent call last File C Python27 connect py line 22 in
  • 调试断言失败。表达式(流!=NULL)

    我收到以下错误 调试断言失败 表达式 流 NULL 文件 f dd vctools crty bld self x86 crt src fwrite c 创建 4 个线程时 CPU 使用率 100 该代码最初运行良好一段时间 然后给出此错误
  • 怎样才能使 Windows 成为一个开箱即用的 POSIX 兼容操作系统?

    这个问题的动机是我的一个牵强的梦想 即 nix 平台上可用的许多优秀软件可以轻松移植到 Windows 微软最近对开源和开放性采取了不同的方法 所以我真的很想知道如果微软有这样的倾向 这样的事情会有多可行 我很好奇的一些更具体的事情是 是否
  • 如何通过批处理文件检查服务是否正在运行并启动它,如果它没有运行?

    我想编写一个执行以下操作的批处理文件 Check if a service is running 如果正在运行 请退出批处理 如果没有运行 启动该服务 到目前为止 我在谷歌上搜索的代码示例被证明不起作用 所以我决定不发布它们 启动服务是通过
  • git在Windows和Linux之间切换后强制刷新索引

    我有一个Windows和Linux共享的磁盘分区 格式 NTFS 它包含一个 git 存储库 约 6 7 GB 如果我只使用Windows or 只使用Linux操作 git 存储库一切正常 但是每次切换系统的时候git status命令将
  • 已安装全局 NPM 包但未找到命令

    我已经全局安装了两个 npm 包 下载 https www npmjs com package download and 谜虚拟盒 https www npmjs com package enigmavirtualbox通过命令行 npm
  • 如何在 PowerShell 中比较本地文件与 FTP 服务器上的文件的年龄并下载远程复制是否较新

    我正在编写一个 PowerShell 脚本 以帮助我为工作设置新电脑 希望这不仅仅是我一个人会使用 所以我正在尝试考虑所有事情 我在 FTP 服务器上保存了离线安装程序 java flash reader 等 如果本地副本尚未保存在创建的
  • 在 powershell 脚本中以不同用户身份本地运行代码块

    这是非常简单的事情 但我就是无法让任何东西发挥作用 我想在特定用户下的 powershell 脚本中运行块代码 关键字是locally我正在使用 powershell 2 0 Invoke Command 似乎需要远程主机 我运行以下命令
  • Windows 版 GitKraken 中的文件名太长

    正如建议的Q22575737 https stackoverflow com a 22575737 6623589 我已经更新了我的注册表并设置了git config system core longpaths true在处理长路径时 问题
  • 如何在 Visual C++ 中宣传 Bonjour 服务

    我试图弄清楚这是否可能 但是通过 Visual C 宣传 Bonjour 服务的最简单方法是什么 您可以使用DNS服务发现客户 dns sd Windows Bonjour 安装程序把它放进去C Windows system32 dns s
  • 每个进程每个线程的时间量

    我有一个关于 Windows 和 Linux 中进程和线程的时间量子的问题 我知道操作系统通常为每个线程提供固定的时间量 我知道时间量根据前台或后台线程而变化 也可能根据进程的优先级而变化 每个进程有固定的时间量吗 例如 如果操作系统为每个
  • Node.js + Socket.io + Windows 7 / 8?

    我一直在到处寻找 但似乎找不到解决方案 是否可以在 Windows 7 上的 Node js 上安装 Socket io 如果没有 是否有某种替代方案 或者您知道未来有任何 Windows 支持吗 通常使用 Node js 包管理器 但是我

随机推荐

  • 【BMC】简介

    什么是BMC 在介绍BMC之前需要了解一个概念 即平台管理 platform management 平台管理表示的是一系列的监视和控制功能 操作的对象是系统硬件 比如通过监视系统的温度 电压 风扇 电源等等 并做相应的调节工作 以保证系统处
  • Linux配置sar服务

    Linux配置sar服务 下面以suse 为例 其他系统类似 检查是否有安装sar服务 sar服务包含在sysstat软件包中 rpm qa grep sysstat 如果没有安装执行下面的命令安装 zypper install sysst
  • OCR-APP开发总结(一)

    一 解决删除 运行模式 布局的问题 1 直接将对应的xml部分删除 2 将 Java中MainActivity中引用对应的ID部分删除 并将运行模式的值默认 3 效果图 二 裁剪方法 方法1 android自带的crop进行裁剪 缺点 裁剪
  • Spring MVC类型转换的相关说明

    转自 Spring MVC类型转换的相关说明 下文讲采用示例的方式 讲述相关类型说明 如下所示 insert jsp页面的代码如下
  • C++ 命名空间 & 模板

    命名空间 为了区分不同库中相同名称的函数 类 变量等 引入概念 命名空间 它可作为附加信息来帮助区分它们 使用了命名空间即定义了上下文 本质上就是定义了一个范围 定义命名空间 命名空间的定义使用关键字 namespace 后跟命名空间的名称
  • python实现从零搭建图书管理系统

    学习目标 tornado入门学习 异步服务器学习 异步数据库操作 一 虚拟环境 1 1 虚拟环境的创建 mkvirtualenv tornado py3 p python3 1 2 安装tornado pip install tornado
  • QT学习(一)—— 第一个QT项目

    1 1 新建一个项目 添加项目名称 选择Qwidget类 暂时不选择Generate form那个 补充 这里介绍了一下widget mainWindow dialog三种类的关系 编译器用QT自带的 创建完毕 1 2 项目介绍 1 2 1
  • python爬取内容剔除nbsp_Python正则获取、过滤或者替换HTML标签的方法

    本文实例介绍了Python通过正则表达式获取 去除 过滤 或者替换HTML标签的几种方法 具体内容如下 python正则表达式关键内容 python正则表达式转义符 匹配除换行符以外的任意字符 w 匹配字母或数字或下划线或汉字 s 匹配任意
  • CVPR2023:BiFormer阅读笔记

    目录 前言 1 模型的特点 2 双层路由注意力机制 BRA 3 BiFormer的结构 前言 BiFormer是CVPR2023的一篇文章 文中提出自注意力机制作为Transformer的核心模块 可以帮助网络捕捉长距离上下文依赖 但是这种
  • 基于MFC-MSComm控件的PC与单片机串口通信编程

    作者 uedsr542 来源 51hei 使用工具Visual C 6 0 9针RS232串口线一条 P0口带上拉的LED的51最小系统版 打开软件 新建 gt MFC AppWizard exe 再填写工程名和路径 gt 基于对话框 不需
  • Java项目数据迁移怎么做的

    Java项目数据迁移怎么做的 1 A表到B表找字段映射 即两个不同库表先做好数据字段的对应和补齐 2 代码程序 java 做功能 从一个数据库表中读出数据 然后写到另一个数据库表中 技术历练点 多线程 使用线程池 确定核心线程池的数量 使用
  • Android沉浸式和状态栏颜色的修改

    一 前言 关于沉浸式实现的方法网上已经有很多了 但是也有点良莠不齐 在遇到实际项目中的问题之后还是需要查阅大量的博客来对问题进行查证 本博客主要是在解决沉浸式的几个问题之后 对沉浸式的一点总结方便后面再次遇到同样问题时 能够很快的查阅而不至
  • 深度优先找出图中顶点U到顶点V的所有简单路径【C/C++】

    目录 前言 步骤如下 1 对于邻接矩阵 1 1 创建邻接矩阵 1 2 初始化path数组和找到顶点U和顶点V的下标 1 3 FindPath 函数 1 4 测试结果 1 5 改进代码 感谢 果冻的光滑 的指导和帮助 2 对于邻接表 2 1
  • java消息的确认模式

    1 AUTO ACKNOWLEDGE 从消息生产者角度 发送消息后就开始阻塞 直到从消息服务器收到回复 期间如发生异常则认为消息未被传送 从消息服务器角度 非持久消息在接受到消息后通知生产者 并将消息存入内存 持久性消息在接受道消息后先存入
  • mac系统安装搭载Windows系统虚拟机方法教程

    我们都知道macOS系统虽然相对windows系统而言更稳定 但macOS系统中可使用的软件数量较windows系统而言要少很多 对于macOS系统应用少的问题 我们可以使用虚拟机来解决 那么 苹果虚拟机好用吗 整体而言是可以的 苹果虚拟机
  • excel 导出:

    导出 1 模板导出 1 所需jar
  • 【Pytorch with fastai】第 4 章 :底层训练数字分类器

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • !important的使用

    前端css样式 使用的是vue 框架 本身的 css样式中与自定义的名称重复 导致样式被覆盖 原自定义样式 修改后自定义样式 其中 import 具有优先权 提升指定样式规则的应用优先权 参考文章 https www xuebuyuan c
  • 利用ESP8266_01做一个远程控制的智能插座

    手头有一块ESP8266 01WIFI模块 是前段时间在网上买arduino套件时送的 套件中还有一个单路继电器 反正这些东西折腾完了以后也没什么用 就将网上的资料汇总了一下 做了一个远程控制的智能排插 功能非常简单 就是通过手机远程控制排
  • 在Windows上搭建Go开发环境

    Go语言是由谷歌开发的一个高性能 跨平台的编程语言 安装Go 首先先来安装一下Go语言的SDK 目前Go语言的最新版本为Go 1 8 3 Go下载页面列出了各种操作系统的安装包 如果选择Windows MSI安装包的话 会将Go安装到C G