视频链接(p1~p8):

golang入门到项目实战 [2022最新Go语言教程,没有废话,纯干货!]

参考链接:

用vscode开发go的时候,安装go包报错:connectex: A connection attempt failed because the connected party did not

一、安装与熟悉工具

视频一开始讲go语言有什么特点之类的,完全不用管,刚开始学也记不了这些。

语言环境安装

下载官网

安装到自己喜欢的位置,接着设置环境变量:安装的位置/bin,我是在D:/Go/

到高级属性设置

可以看到它自动在我们的用户变量弄了GOPATH,这是以前放项目的地方,但是弄了模块化后就没必要了

找到系统变量的Path

点击编辑,发现它也是自动帮我们设置好了:

查看版本:

管理员模式打开Power Shell,设置go的环境变量(后面发现这里弄的环境对VScode没影响):

输入:

$env:GO111MODULE="on"
$env:GOPROXY="http://goproxy.cn"

自行安装git Bash:

这个是网站链接

https://git-scm.com/downloads

安装VScode工具

这个也是网站链接

https://code.visualstudio.com/download

自行安装好后就配置环境:

第一个GO程序:Hello World!

选自己喜欢的位置,这个就是未来VScode的工作区了,而CMD 命令行运行如下:

mkdir go
cd go
mkdir go_prod
go env -w GO111MODULE=on
go mod init go_prod
code ./go_prod

新建一个go后缀的文件,运行以下程序

package main

import "fmt"

func main(){
fmt.Println("Hello World!")
}

结果如下:

VScode的终端运行 GO常用命令

运行命令1:

go build 实际存在可运行出结果的go文件

接着就生成一个exe后缀的文件,运行它就行了

运行命令:

./main.exe

运行命令2:

go run 实际存在可运行出结果的go文件

直接产生结果:

格式化命令:

格式化的意思:把代码排到令一般人觉得舒服并易于理解的位置。

如果只是对于单个文件的话,这个命令相较于自己在VScode安装一个格式化的插件效果不太好,多个文件就好用了。

go fmt

下载包命令:

举例:我想下个mysql的包

官网的搜索栏,选个mysql,拿到下载地址。



跑回VScode的终端栏,输入命令如下:

go env -w GOSUMDB=off
go env -w GOPROXY=https://goproxy.cn,direct
go get github.com/go-sql-driver/mysql

安装成功提示:

查看VScode的快捷键

常用的快捷键:

行注释 Ctrl + /
块注释 shift + Alt + a
删除行 Ctrl + shift + k
查找文件 Ctrl + e
打开设置命令行 Ctrl + shift + p

快速生成代码

命令1:生成主函数

在代码那栏输入:

pkgm

命令2:生成输出函数

fp

代码自动补全和选择导入包

参考链接:vs code golang代码自动补全

由于VSCode的不停更新,很多配置的位置发生了变化,我操作也是云里雾里,可能我的步骤会有些多余,由于之前就已经输入了如下的命令:

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

所以我先是输入“ctrl + shift + p”,再输入go:install/update,点击它

接着我就有如下这好几个选项,全部勾上,有的博客会说安十多个,可能是因为版本不一样吧,之后是一定会安装成功的,如果你跟着我之前的操作的话:

安装好后,我就到这里面:

在选择栏那里输入 go,再随便点击任何一个setting.json

在上面的editor.quickSuggestions加上:

"go.useCodeSnippetsOnFunctionSuggest": true

重启VSCode,我们拿这个案例进行测试:

你现在看到我这里会提示你没导入fmt这个包

之后鼠标移动到fmt,会有个按键,点击它,会有提示Add import “fmt”,这里点上,它就会自动帮你补上:

命令3:输出对应变量

先定义变量,顺便附上值:

s:="hello"

接着输入

s.pr

VScode就会提示自动补全最终如下:

其他的快捷命令

ff  fmt.Printf("", var)
for for i := 0; i < count; i++ {}
forr for _, v := range v {}
fmain func main() {}

Go如何调用自建包与模块

package user is not in GOROOT (c:\go\src\user)

在生产环境下新建一个user包,在包里定义函数

src/user/user.go

//定义包名
package user
//定义hello函数
func Hello() string{
return "Hello"
}

go/main.go:调用包

package main
import ("fmt"
"user")
func main(){
s:=user.Hello()
fmt.Printf("s: %v\n",s)
}

【Go语言】(一)环境搭建与了解VScode工具的更多相关文章

  1. windows下的go语言的环境搭建和初探

    闲话不说,直入主题. 1.准备工具 a.windows下的Go语言开发安装包 官方下载地址:https://code.google.com/p/go/downloads/list b.Go语言中文官网 ...

  2. 【Apache Pulsar】Apache Pulsar单机环境及Go语言开发环境搭建

    0x01 简介 Apache Pulsar是一个开源的分布式发布-订阅消息系统,与Kafka类似,但比后者更加强大.Pulsar最初由Yahoo开发并维护,目前已经成为Apache软件组织的一个孵化子 ...

  3. R语言开发环境搭建

    R语言开发环境搭建 一.环境 Win7 64bit系统 二.R软件下载 R 3.5.2 for Windows,官网:https://www.r-project.org/ RStudio 1.1.46 ...

  4. Java 学习笔记 第一章:Java语言开发环境搭建

    第一章:Java语言开发环境搭建 第二章:常量.变量和数据类型 第三章:数据类型转换.运算符和方法入门 1.Java虚拟机——JVM JVM(Java Virtual Machine ):Java虚拟 ...

  5. go语言环境搭建以及配置VSCode

    Go语言学习笔记(环境安装)-day01 Go语言运行环境安装 下载Go安装包 安装包地址 安装Go语言运行环境 ​ 直接在下载好的目录双击运行*.msi的可执行文件,下一步进行安装,安装的目录最好是 ...

  6. 02.Go语言开发环境搭建(新版)

    安装Go语言及搭建Go语言开发环境 注意:Go语言1.14版本之后推荐使用go modules管理以来,也不再需要把代码写在GOPATH目录下了 下载 下载地址 Go官网下载地址:https://go ...

  7. Windows下Go语言的环境搭建

    在本地搭建了一个开发GO语言的开发环境,给大家分享一下用go语言写的第一个hello world的过程,希望对大家有所帮助. 1.想写GO语言首先得下载go语言的开发包 官方下载地址:https:// ...

  8. Go语言开发环境搭建

    1.Go的安装 (1)下载go安装程序 下载地址:https://golang.org/dl/ (墙内下载地址http://www.golangtc.com/download),如果是您的系统是win ...

  9. 手把手教你Windows下Go语言的环境搭建

    1.想写GO语言首先得下载go语言的开发包 官方下载地址:https://code.google.com/p/go/downloads/list 我用的是Win7 64位的操作系统,截图如下: 2.把 ...

随机推荐

  1. Java操作Hadoop、Map、Reduce合成

    原始数据: Map阶段 1.每次读一行数据, 2.拆分每行数据, 3.每个单词碰到一次写个1 <0, "hello tom"> <10, "hello ...

  2. 图解KMP字符串匹配算法+代码实现

    kmp算法跟之前讲的bm算法思想有一定的相似性.之前提到过,bm算法中有个好后缀的概念,而在kmp中有个好前缀的概念,什么是好前缀,我们先来看下面这个例子. 观察上面这个例子,已经匹配的abcde称为 ...

  3. mybatis xml 中 trim 多余的符号

    <if test="(mac != null and mac != '') or (roomNo != null and roomNo != '') or (bedNo != null ...

  4. 165. Compare Version Numbers - LeetCode

    Question 165. Compare Version Numbers Solution 题目大意: 比较版本号大小 思路: 根据逗号将版本号字符串转成数组,再比较每个数的大小 Java实现: p ...

  5. Git分离头指针

    Git头指针 Git中有HEAD头指针的概念.HEAD头指针通常指向某个分支的最近一次提交,但我们也可以改变它的指向,使其指向某个commit,此时处于分离头指针的状态. 如下,改变HEAD的指向,g ...

  6. 03-数据结构(C语言版)

    Day01 笔记 1 数据结构基本理论 1.1 算法五个特性: 1.1.1 输入.输出.有穷.确定.可行 1.2 数据结构分类 1.2.1 逻辑结构:集合.线性.树形.图形 1.2.2 物理结构:顺序 ...

  7. “摆地摊“都找不到全栈工程师?JNPF帮你分分钟搞定!

    大街上捕捉野生程序员 都这样了还找不到全栈工程师 全栈工程师(Full-Stack Engineer)图鉴: 全栈工程师,也叫全端工程师(同时具备前端和后台能力),英文Full Stack  deve ...

  8. 跨域问题和使用 cookie 的限制

    前言 在我的文章 使用 cookie 的身份验证和授权 的最后,讲到了跨域问题,这篇文章就简单介绍跨域的相关知识,并说明在 net core 中怎么设置跨域. 使用的版本为 net6,并使用 Mini ...

  9. cloudwu/coroutine 源码分析

    1 与其它协程库使用对比 这个 C 协程库是云风(cloudwu) 写的,其接口风格与 Lua 协程类似,并且都是非对称 stackful 协程.这个是源代码中的示例: #include " ...

  10. Halodoc使用 Apache Hudi 构建 Lakehouse的关键经验

    Halodoc 数据工程已经从传统的数据平台 1.0 发展到使用 LakeHouse 架构的现代数据平台 2.0 的改造.在我们之前的博客中,我们提到了我们如何在 Halodoc 实施 Lakehou ...