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. ES6对象的新增方法的使用

    Object.assign Object Object.assign(target, ...sources) 将所有可枚举属性的值从一个或多个源对象复制到目标对象 参数: target 目标对象 so ...

  2. Windows10 添加 新的输入法

    Windows10系统 控制面板 区域 语言首选项 设置 添加 陈桥输入法

  3. CentOS 7 网络配置详解

    今天在一台PC上安装了CentOS 7,当时选择了最小安装模式,安装完成后马上用ifconfig查看本机的ip地址(局域网已经有DHCP),发现报错,提示ifconfig命令没找到. ? 1 2 3 ...

  4. python 交换变量值为何不需要中间变量

    python 元组解包unpacking,同一语句中多重赋值 cpython 认为几种变量的交换是比较常见的,提供了专门的优化指令,像[-5,256]预先放到了整数池中一样,

  5. android常用的四种对话框java代码

    AlterDialog:确认取消警告提示框 public void showAlertDialog(View view){ AlertDialog.Builder dialog = new Alert ...

  6. 归一化方法总结 | 又名“BN和它的后浪们“

    前言: 归一化相关技术已经经过了几年的发展,目前针对不同的应用场合有相应的方法,在本文将这些方法做了一个总结,介绍了它们的思路,方法,应用场景.主要涉及到:LRN,BN,LN, IN, GN, FRN ...

  7. 几年前,为什么我撸了一套RabbitMQ客户端?

    之前文章说过,如果使用 RabbitMQ,尽可能使用框架,而不要去使用 RabbitMQ 提供的 Java 版客户端. 细说起来,其实还是因为 RabbitMQ 客户端的使用有很多的注意事项,稍微不注 ...

  8. Java并发之AQS原理剖析

    概述: AbstractQueuedSynchronizer,可以称为抽象队列同步器. AQS有独占模式和共享模式两种: 独占模式: 公平锁: 非公平锁: 共享模式: 数据结构: 基本属性: /** ...

  9. [源码解析] 深度学习分布式训练框架 Horovod (1) --- 基础知识

    [源码解析] 深度学习分布式训练框架 Horovod --- (1) 基础知识 目录 [源码解析] 深度学习分布式训练框架 Horovod --- (1) 基础知识 0x00 摘要 0x01 分布式并 ...

  10. 开源软硬一体OpenCV AI Kit(OAK)

    开源软硬一体OpenCV AI Kit(OAK) OpenCV 涵盖图像处理和计算机视觉方面的很多通用算法,是非常有力的研究工具之一,且稳居开发者最喜爱的 AI 工具/框架榜首. 1.会不会被USA禁 ...