一 Go环境搭建

1. 下载地址

https://golang.google.cn/dl/

傻瓜式安装,自动会配置path的变量,安装完成后可以使用go version 查看当前安装的版本

本文使用目前最新的1.20.2版本

在这里插入图片描述

2. 配置go环境

  1. cmd控制栏打开输入以下命令(如果cmd有问题可以尝试powershell)
  2. go env -w GO111MODULE=on
  3. go env -w GOPROXY=https://goproxy.io,direct

以上的目的是为了

  1. 开启GoMod包管理功能
  2. 更换下载的源地址,不然你面临无法下载包等困境

输入完成后执行go env查看当前的go配置的环境是否更改

3. Go常用命令

build :编译包和依赖
run:编译并运行Go程序
clean:移除对象文件
doc:显示包或者符号的文档
env:打印Go的环境信息
get:下载并安装包和依赖(需要先初始化项目使用go mod init 项目名称)
bug:启动错误报告
fmt:运行gofmt进行格式化
install:编译和安装包的依赖
list:列出包
test:运行测试
tool:查看工具

4. 关于IDE

选择一个趁手的IDE可以为代码编写提供便捷性,一般推荐VS Code 和 Goland

1. VS Code

使用VS Code,我们可以设置下中文插件,把相关的Go的扩展插件(Go tool)安装下

  1. 中文插件如下,安装好后右下角会提示是否现在更改语言,选择change即可(不安装即使用英文也可,此步骤不影响使用)
    在这里插入图片描述
  2. 我们初始化当前这个项目后(在当前项目的控制栏内,输入go mod init 此处填写项目名)
  3. 此时我们先手动搜索扩展,搜索框输入Go,先将其安装
    在这里插入图片描述
  4. 新建一个main.go的文件,VS Code就会在右下角提示我们需要install相关的插件,选择安装
  5. 下图这个位置会出现可安装的拓展包,截图中已全部安装完成了所以没显示,大概在这个CRLF的位置,可以选择全部安装
    在这里插入图片描述
  6. 此时你就可以享受到来自VS Code提供的一些便捷的代码提示

2. Goland

需要先下载一个版本(此处使用2021.2.2),需要破解下此软件(仅供学习使用,商用请进行购买)

  1. 下载地址:https://www.jetbrains.com/go/download/other.html 选择版本为2021.2.2

  2. 傻瓜式安装完成后,选择稍后再运行Goland
    在这里插入图片描述

  3. 在Goland文件的bin目录下找到下图文件,并填上相应的内容,内容文件在下方网盘地址给出

  4. 填写-javaagent:G:\Tools\FineAgent.jar 替换自己的FineAgent.jar的地址,保存
    在这里插入图片描述

  5. 打开Goland IDE ,输入激活码激活即可
    在这里插入图片描述

插件及激活码下载地址:
链接:https://pan.baidu.com/s/1SwOj0iK7062zqfanlOhIRA
提取码:bazq

5. 创建一个Go项目

  1. 创建一个项目文件夹(如:gotest)
  2. cmd进入到这个文件夹中,使用快捷打开模式 code .
  3. 初始化项目 go mod init gotest,此时会生成一个go.mod的文件用于记录此时的版本信息
  4. 开始编写内部的代码,先创建一个包(user),然后在包里面创建一个文件(user.go)
  5. 编写主执行程序文件main.go
    在这里插入图片描述
package user //注意在创建文件时需要声明此包的名称,一般来说与外面的文件名称保持一致即可

func Hello() string {
    return "hello"
}
//定义一个函数Hello,返回string字符串类型
package main

//这里我们导入需要的包,多个可以用括号括起来,需要写上字符串形式
import (
    "Mygo/user"
    "fmt"
)

func main() {
    s := user.Hello()  //此处可以用扩展插件.var来声明变量
    fmt.Printf("s: %v\n", s)  // 这里使用s.print!来快捷输出内容

}
  1. 运行main.go文件即可

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/578.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

面试了一个32岁的程序员,一个细节就看出来是培训班的····

首先,我说一句:培训出来的,优秀学员大有人在,我不希望因为带着培训的标签而无法达到用人单位和候选人的双向匹配,是非常遗憾的事情。 最近,在网上看到这样一个留言,引发了程序员这个圈子不少的…

Qt(c++)调用海康威视监控摄像头

文章目录一.海康威视监控摄像头开发SDK介绍二.海康SDK模块说明三.Qt项目中海康威视SDK配置四.实时预览摄像头图像程序一.海康威视监控摄像头开发SDK介绍 设备网络SDK是基于设备私有网络通信协议开发的,为嵌入式网络硬盘录像机、NVR、网络摄像机、网络球机、视频服务…

【Linux】冯诺依曼体系结构

冯诺依曼体系结构一、计算机结构体系来源二、冯诺依曼体系结构三、冯诺依曼体系结构中的数据流动一、计算机结构体系来源 研制电子计算机的想法产生于第二次世界大战期间,主要用来进行弹道计算,在"时间就是胜利"的战争年代,迫切需…

【JavaEE进阶篇1】认识Spring、认识IoC、使用spring创建对象

目录 一、什么是Spring 1.1容器 1.2什么是IoC 传统方式创建对象的问题: 类与类之间的耦合性过大 Ioc的优点 Spring IoC容器最核心的功能 1.3DI概念说明(Dependency Injection) IoC和DI的区别是什么 二、Spring项目的创建 三、Spring的使用(把对象存储到spr…

ChatGPT是如何训练得到的?通俗讲解

首先声明喔,我是没有任何人工智能基础的小白,不会涉及算法和底层原理。 我依照我自己的简易理解,总结出了ChatGPT是怎么训练得到的,非计算机专业的同学也应该能看懂。看完后训练自己的min-ChatGPT应该没问题 希望大牛如果看到这…

stm32外设-中断详解

0. 写在最前 本栏目笔记都是基于stm32F10x 1. 中断是啥? 什么是中断:CPU在处理某一事件A时,发生的另外某一事件B请求CPU去处理(产生了中断),随后CPU暂时中断当前正在执行的任务,去对事件B进行处…

Java的二叉树、红黑树、B+树

数组和链表是常用的数据结构,数组虽然查找快(有序数组可以通过二分法查找),但是插入和删除是比较慢的;而链表,插入和删除很快(只需要改变一些引用值),但是查找就很慢&…

【C#】组件化开发,调用dll组件方法

系列文章 C#项目–业务单据号生成器(定义规则、自动编号、流水号) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/129129787 C#项目–开始日期结束日期范围计算(上周、本周、明年、前年等) 本文链接&…

快排函数 -- qsort函数(Quick Sort)

文章目录🔎1.qsort函数简介💡1.1.函数原型💡1.2.参数含义🔎2.比较函数介绍🔎3.比较函数使用案例💡3.1.整型数组💡3.2.浮点型数组💡3.3.结构体类型 - 字符串🔎4.利用冒泡排…

震撼,支持多模态模型的ChatGPT 4.0发布了

最近几个月,互联网和科技圈几乎ChatGPT刷屏了,各种关于ChatGPT的概念和应用的帖子也是围绕在周围。当去年年底ChatGPT发布的那几天,ChatGPT确实震撼到了所有人,原来AI还可以这么玩,并且对国内的那些所谓的人工智能公司…

Tesla都使用什么编程语言?

作者 | 初光 出品 | 车端 备注 | 转载请阅读文中版权声明 知圈 | 进“汽车电子与AutoSAR开发”群,请加微“cloud2sunshine” 总目录链接>> AutoSAR入门和实战系列总目录 带着对更美好未来的愿景,特斯拉不仅成为有史以来最有价值的汽车公司&…

多线程(初阶)

文章目录一.初始线程(Thread)1.1.线程的概念1.2.线程的优势1.2.1.线程比进程更轻量1.2.2.并发编程1.3.线程和进程的区别二.Thread类方法2.1. java 中创建线程的方法2.1.1. 继承Thread,重写run2.1.2. 实现Ruuable接口2.1.3. 使用匿名内部类,继承Thread2.1.4.使用匿名内部类,实现…

[蓝桥杯单片机]——八到十一届初赛决赛客观题

第八届初赛 一、填空题 采用外部12MHz晶振,经过系统12分频时定时器获得最大定时长度,此时定时器定时脉冲为1MHz,周期为1s,而定时器计时均为16位加法计数器,即计时长度为。 二、 选择题 ①带阻滤波器是指能通过大多数频…

处理窄区路径规划的业务问题

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、通过栅格地图的处理解决二、使用bug绕障的方式走出窄区,或者结合边界图形参考bug算法沿边出来三、使用维诺图计…

字符串函数和内存函数

🍕博客主页:️自信不孤单 🍬文章专栏:C语言 🍚代码仓库:破浪晓梦 🍭欢迎关注:欢迎大家点赞收藏关注 字符串函数和内存函数 文章目录字符串函数和内存函数前言1. 字符串函数介绍1.1 s…

【MySQL】MySQL的优化(一)

目录 查看SQL执行频率 定位低效率执行SQL 定位低效率执行SQL-慢查询日志 定位低效率执行SQL-show processlist 查看SQL执行频率 MySQL 客户端连接成功后,通过 show [session|global] status 命令可以查看服务器状态信息。通 过查看状态信息可以查看对当…

jvm类与类加载

1.类加载过程: 首先要加载某个类一定是出于某种目的,比如要运行java程序,那么久必须加载主类才能运行其中的方法,所以一般在这些情况下,如果类没有被加载,就会自动被加载: 1.使用new创建对象时 …

MyBatis开发环境搭建

1.创建工程 2.引入相关的依赖 pom.xml <dependencies><!--1.引入mybatis包--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.6</version></dependency><!--2.单元…

FPGA和IC设计怎么选?哪个发展更好?

很多人纠结FPGA和IC设计怎么选&#xff0c;其实往小了说&#xff0c;要看你选择的具体是哪个方向岗位。往大了说&#xff0c;将来你要是走更远&#xff0c;要成为大佬&#xff0c;那基本各个方向的都要有涉及的。 不同方向就有不同的发展&#xff0c;目前在薪资上IC设计要比FP…

Qt之高仿QQ系统设置界面

QQ或360安全卫士的设置界面都是非常有特点的,所有的配置项都在一个垂直的ScrollArea中,但是又能通过左侧的导航栏点击定位。这样做的好处是既方便查看指定配置项,又方便查看所有配置项。 一.效果 下面左边是当前最新版QQ的系统设置界面,右边是我的高仿版本,几乎一毛一样…