GoLang简介

Go编程语言是一个开源项目,它使程序员更具生产力。

Go语言具有很强的表达能力,它简洁、清晰而高效。得益于其并发机制,用它编写的程序能够非常有效地利用多核与联网的计算机,其新颖的类型系统则使程序结构变得灵活而模块化。 Go代码编译成机器码不仅非常迅速,还具有方便的垃圾收集机制和强大的运行时反射机制。 它是一个快速的、静态类型的编译型语言,感觉却像动态类型的解释型语言。

Go is a new language. Although it borrows ideas from existing languages, it has unusual properties that make effective Go programs different in character from programs written in its relatives. A straightforward translation of a C++ or Java program into Go is unlikely to produce a satisfactory result—Java programs are written in Java, not Go. On the other hand, thinking about the problem from a Go perspective could produce a successful but quite different program. In other words, to write Go well, it's important to understand its properties and idioms. It's also important to know the established conventions for programming in Go, such as naming, formatting, program construction, and so on, so that programs you write will be easy for other Go programmers to understand.

Go是一门新语言。尽管它借鉴了现有语言的思想,但它有一些不寻常的特性,使得有效的Go程序在性质上不同于用其亲属编写的程序。将C++或java程序直接翻译成GO不可能产生满意的结果。java程序是用java编写的,不是GO。另一方面,从Go的角度思考问题可以产生一个成功但完全不同的程序。换句话说,要想写得好,理解它的性质和习语是很重要的。同样重要的是要知道在Go中编程的既定约定,比如命名、格式化、程序构造等等,这样你编写的程序就可以让其他Go程序员很容易理解。

Windows安装

直接前往谷歌中国的官网安装即可。

下载Msi文件之后,一路安装即可,保持默认设置。

安装配置

检验安装

通过go关键词,带上Version命令即可在PS中查看到当前安装版本。如果上诉安装已经就位,那么就会成功打印相关版本。

go version

检查环境变量

go env

设置中国区代理(加速模块下载)

暂时用七牛云提供的国内代理,毕竟七牛算是国内Go的一大布道师公司,相信是靠谱的。

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

在VSC中开启Hello World

安装插件

在VSC的插件市场中,搜索关键词Go即可轻松找到官方插件。

安装即可。

检查安装相关工具依赖

我们新建一个Hello-Go.go的文件,并且用VSC打开。

这时候,VSC的右下角,会提示你要安装什么依赖,根据提示来操作即可。

根据提示呢,这个依赖工具被下载到了C:\Users\User\go\bin目录中,查看后,确实如此。

而且你会发现,当上面两个工具都被安装好之后,这时候VSC的Go下标状态也变了,已经不是之前的叹号了,而是一个闪电号。

在vsc中,如果启动Go的调式,你会发现,还依赖另外一个工具,根据提示安装即可。

开始真正的Hello Wolrd

在当前代码的文件夹下,我们打开VSC的终端,输入下面的命令,新建一个Hello程序。

go mod init $modName

它会自动创建一个名为go.mod的文件。

简单来看,这里面应该是存了当前项目的依赖配置。

从配置看得出,依赖了go 1.16,并且有一个叫hello的模块。

接下来,我们只需要新建一个名为main.go的文件。

package main

import "fmt"

func main() {

	fmt.Println("hello world, see u go")
}

然后,Ctrl+F5即可把它运行起来,并且在输出控制台,即可看到我们的运行结果。

我们也可以在VSC中创建一个指定File的Launch.json配置。

{
"version": "0.2.0",
"configurations": [
{
"name": "Launch file",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${file}"
}
]
}

接下来,便可选中某个Go文件,然后启动调试了。

运行结果,一样的会打印在控制台。

有意思的是,你会看到,它默认会选择一个端口号来运行。

命令行运行

如果你在想在命令行执行Go文件,也很简单,切换到Go文件所在位置,使用run命令即可。

go run $FileName

学习资源

Windows10上基于Visual Studio Code安装Golang开发环境的更多相关文章

  1. Windows下visual studio code搭建golang开发环境

    Windows下visual studio code搭建golang开发环境 序幕 其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org),导致一些包无法安装 ...

  2. Visual Studio Code配置GoLang开发环境

    Visual Studio Code配置GoLang开发环境 在Visual Studio Code配置GoLang开发环境 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页: ...

  3. 基于Visual Studio Code搭建Golang开发调试环境【非转载】

    由于对Docker+kubernetes的使用及持续关注,要理解这个平台的原理,势必需要对golang有一定的理解,基于此开始利用业余时间学习go,基础语法看完之后,搭建开发环境肯定是第一步,虽然能g ...

  4. 基于Visual Studio Code搭建Vue开发环境

    安装node.js最新版 这里安装的是8.11.4版   image.png 更新npm至最新版 安装node.js后, npm默认版本为: 6.1.0   image.png 使用npm insta ...

  5. 使用Visual Studio Code搭建TypeScript开发环境

    使用Visual Studio Code搭建TypeScript开发环境 1.TypeScript是干什么的 ? TypeScript是由微软Anders Hejlsberg(安德斯·海尔斯伯格,也是 ...

  6. Visual Studio Code配置 HTML 开发环境

    Visual Studio Code配置 HTML 开发环境 https://v.qq.com/x/page/l0532svf47c.html?spm=a2h0k.11417342.searchres ...

  7. docker4dotnet #3 在macOS上使用Visual Studio Code和Docker开发asp.net core和mysql应用

    .net猿遇到了小鲸鱼,觉得越来越兴奋.本来.net猿只是在透过家里那田子窗看外面的世界,但是看着海峡对岸的苹果园越来越茂盛,实在不想再去做一只宅猿了.于是,.net猿决定搭上小鲸鱼的渡轮到苹果园去看 ...

  8. Visual Studio Code 搭建Python开发环境

    1.下载Python https://www.python.org/downloads/windows/ 选择一个版本,目前2.0的源码比较多,我下载的2.7.12 2.配置环境变量 3.Visual ...

  9. Visual Studio Code搭建Python开发环境方法总结

    更新:目前VSCode官方Python插件已经支持代码运行与调试,无需安装Code Runner插件. 1.下载安装Python,地址 https://www.python.org/downloads ...

随机推荐

  1. 透过“锁”事看InnoDB对并发的处理?

    一. 并发场景下的问题 相对于串行处理方式,并发的事务处理可显著提升数据库的事务吞吐量.提高资源利用率.在MySQL实际应用中,根据场景的不同,可以分为以下几类: 读读并发 读写并发 写写并发 在这些 ...

  2. [Qt] 事件机制(二)

    在samp4_1中加一个小功能,点击右上角关闭按钮时,弹出"确认是否关闭"的消息框.如果点"yes"则关闭,如果点"No"则不关闭 在wid ...

  3. 华为eNSP模拟器— telnet实验

    华为eNSP模拟器-telnet实验 一.实验一 路由交换之间实现telnet登陆 实验拓扑 实验目的: 路由器作为 telnet 服务器 交换机作为客户端去连接路由器 实验步骤: 路由器配置 < ...

  4. CentOS 7.3 安装指南 作者: Matei Cezar 译者: LCTT geekpi

    CentOS 7.3 安装指南 作者: Matei Cezar 译者: LCTT geekpi | 2016-12-20 09:12   评论: 11 收藏: 4 分享: 1 基于 Red Hat 企 ...

  5. 039.Python使用TCP实现多用户并发

    使用TCP实现多用户并发 在前面的实验中,TCP建立连接时,只能允许一个用户连接,当第二个用户建立连接时,发送的信息,服务端是没有办法接受,只有当第一个用户退出时,才能接受到第二个用户的请求,并实现通 ...

  6. linux进程间通信-(转自 临水)

    一.进程间通信概述进程通信有如下一些目的:A.数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间B.共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别 ...

  7. 只需5分钟!一文读懂CSS布局(二) -- flex布局

    目录 简介 基本概念 容器属性 1. flex-direction 测试代码 2. flex-wrap 3. flex-flow 4. justify-content 5. align-items 6 ...

  8. 201871030136-颜静 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告

    ​ 项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST/ 这个作业要求链接 https://www.cnblogs.com/nwnu- ...

  9. MegEngine亚线性显存优化

    MegEngine亚线性显存优化 MegEngine经过工程扩展和优化,发展出一套行之有效的加强版亚线性显存优化技术,既可在计算存储资源受限的条件下,轻松训练更深的模型,又可使用更大batch siz ...

  10. 在NVIDIA A100 GPU上利用硬件JPEG解码器和NVIDIA nvJPEG库

    在NVIDIA A100 GPU上利用硬件JPEG解码器和NVIDIA nvJPEG库 根据调查,普通人产生的1.2万亿张图像可以通过电话或数码相机捕获.这样的图像的存储,尤其是以高分辨率的原始格式, ...