【Go】Go 语言开发工具GoLand 使用(二十二)

news2024/11/28 19:03:06

往期回顾:

  • Go 语言教程–介绍(一)
  • Go 语言教程–语言结构(二)
  • Go 语言教程–语言结构(三)
  • Go 语言教程–数据类型(四)
  • Go 语言教程–语言变量(五)
  • Go 语言教程–GO语言常量(六)
  • Go 语言教程–GO语言运算符(七)
  • Go 语言教程–GO条件和循环语句(八)
  • Go 语言教程–GO语言函数(九)
  • Go 语言教程–GO语言变量作用域(十)
  • Go 语言教程–GO语言数组(十一)
  • Go 语言教程–GO语言指针(十二)
  • Go 语言教程–GO语言结构体(十三)
  • Go 语言教程–GO语言切片(Slice)(十四)
  • Go 语言教程–Go 语言范围(Range)(十五)
  • Go 语言教程–Go 语言Map(集合)(十六)
  • Go 语言教程–Go 语言递归函数(十七)
  • Go 语言教程–Go 语言类型转换(十八)
  • Go 语言教程–Go 语言接口(十九)
  • Go 语言教程–Go 错误处理(二十)
  • Go 语言教程–Go 并发(二十一)

文章目录

  • 前言
  • 快速上手
  • 常见设置
  • 常用快捷键
    • 文件相关
    • 查找和定位
    • 代码编辑
  • 参考文献

前言

在这里插入图片描述

Goland 是一款由捷克软件开发公司 JetBrains 专为 Go 开发的跨平台的商业 IDE。Goland 具有 Strong Code Insight、Navigation & Search、Run & Debug、Integration with VCSs、More than just a Go IDE 以及较强的 Extensibility,能够帮助 Gopher 轻松愉悦方便快捷地 read 和 write Go code。

JetBrains 公司出品的 IDE,在业界有着良好的口碑,比如 Clion for C/C++、IntellijI IDEA for Java、PyCharm for Python、PhpStorm for PHP、WebStorm for JavaScript 等。Goland 一经推出,受到了广大 Gopher 的喜爱,建议大家将其作为 Go 的首选 IDE。

唯一令人遗憾的是 Goland 是收费产品,如果没有条件或者烦于破解,开源免费的 VSCode 也是一个不错的选择。

GoLand 是 Jetbrains 家族的 Go 语言 IDE,有 30 天的免费试用期。

安装也很简单访问 Goland 的下载页面,根据你当期的系统环境三大平台(Mac、Linux、Windows)下载对应的软件。

快速上手

第一步,创建项目。

File > New > Project

在这里插入图片描述

第二步,配置 GOROOT,即 Go 的安装目录。这里需要提前把 Go 安装好。

File > Settings > Go > GOROOT

在这里插入图片描述

第三步,配置 GOPATH,即 Go 源码、依赖包与编译后的可执行文件存放的位置。GOPATH 可以设置多个。

File > Settings > Go > GOPATH

在这里插入图片描述

GOPATH 下的 src 目录就是接下来开发程序的主要目录,所有的源码都应该放在这个目录下面,那么一般我们的做法就是一个目录一个项目。

第四步,创建 helloworld 程序。我创建的 Go 工程目录如下:

在这里插入图片描述

第五步,编译运行 helloworld。

右键 helloworld > Run > go build helloworld

输出结果如下:

在这里插入图片描述

常见设置

  • 变更主题
File > Settings > Editor > Color Scheme
  • 变更字体类型、大小与行距
File > Settings > Editor > Font
  • 变更代码文件编码方式
File > Settings > Editor > File Encodings
  • 修改 Tab 改为指定数量的空格,默认为 4 个空格
File > Settings > Editor > Code Style > Go

常用快捷键

文件相关

CTRL + E:打开最近浏览过的文件
CTRL + SHIFT + E:打开最近修改的文件
CTRL + SHIFT + N:查找文件

查找和定位

CTRL + R:替换文本
CTRL + F:查找文本
CTRL + SHIFT + F:进行全局查找
CTRL + G:快速定位到某行
CTRL + B:跳转至方法或结构体的定义与引用处
CTRL + 左键单击:等同于 CTRL+B
CTRL + ALT + Left/Right:回退或前进到上次光标所在位置

代码编辑

CTRL + ALT+T:把代码包在一个代码块中,例如 if{…} else{…}
CTRL + /:单行注释
CTRL + SHIFT + /:多行注释
CTRL + +:折叠代码块、结构体或函数
CTRL + -:展开代码块、结构体或函数
SHIFT + ENTER:向下插入新行
CTRL + Backspace:按单词进行删除
CTRL + D:复制当前光标所在行
CTRL + X:剪切当前光标所在行
ALT + SHIFT + UP/DOWN:可以将光标所在行的代码上下移动
CTRL + SHIFT + U:可以将选中内容进行大小写转化

参考文献

  • [1] JetBrains 官网
  • [2] JetBrains Goland 官网
  • [3] GO语言从入门到放弃二:Goland安装与配置

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32外设系列—TB6612FNG

本文涉及到定时器和串口的知识,详细内容可见博主STM32速成笔记专栏。 文章目录 一、TB6612简介二、TB6612使用方法2.1 TB6612引脚连接2.2 控制逻辑2.3 电机调速 三、实战项目3.1 项目简介3.2 初始化GPIO3.3 PWM初始化3.3 电机控制程序3.4 串口接收处理函数 一、TB66…

PHP反序列化漏洞之魔术方法

一、魔术方法 PHP魔术方法(Magic Methods)是一组特殊的方法,它们在特定的情况下会被自动调用,用于实现对象的特殊行为或提供额外功能。这些方法的名称都以双下划线开头和结尾,例如: __construct()、__toString()等。 …

java项目之网络视频播放器(ssm+mysql+jsp)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的网络视频播放器。技术交流和部署相关看文章末尾! 开发环境: 后端: 开发语言:Java 框架&a…

Arduino RP2040 两个CDC虚拟串口通讯

Arduino RP2040 两个CDC虚拟串口通讯 🎬通讯效果演示: 🌿基于Earle F. Philhower的固件开发平台: https://github.com/earlephilhower/arduino-pico🔖USB配置参考:https://arduino-pico.readthedocs.io/en/…

【算法基础:数学知识】4.1 质数

文章目录 质数例题列表866. 试除法判定质数(质数的判定)867. 分解质因数()868. 筛质数埃氏筛欧氏筛 / 线性筛 相关链接 质数 定义:质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 …

安装Electron时报错command sh -c node install.js

在安装Electron报如下错误 在指令后面添加 --ignore-scripts,意思是npm 将不会运行在package.json中指定的scripts npm install --save -dev electron --ignore-scripts

Linux系统安装部署MySQL完整教程(图文详解)

前言:最近网上翻阅了大量关于Linux安装部署MySQL的教程,在自己部署的时候总是存在一些小问题,例如:版本冲突,配置失败和启动失败等等,功夫不负有心人,最后还是安装部署成功了,所以本…

《TCP IP网路编程》第九章

第 9 章 套接字的多种可选项 我们进行套接字编程时往往只关注数据通信,而忽略了套接字具有的不同特性。但是,理解这些特性并根据实际需要进行更改也很重要。下面列出了一些套接字可选项。 从表中可以看出,套接字可选项是分层的。 IPPROTO_IP …

[java安全]TemplatesImpl在Shiro550反序列化

文章目录 【java安全】TemplatesImpl在Shiro550反序列化Shiro的原理Shiro反序列化产生演示攻击过程payload使用key加密 构造不含数组的GadGets简单调用链 改造cc6为CommonsCollctionsShiro完整POC触发Shiro550漏洞进阶POC总结 【java安全】TemplatesImpl在Shiro550反序列化 Sh…

论文工具——写论文好用的绘图工具(甘特图+流程图+网络模型图+泳道图)

文章目录 引言正文手动画图的在线画图工具tldraw开源免费ProcessOnDraw.io 网络模型图工具NN-SVG设置参数自动生成Netron上传模型自动生成PlotNeuralNet编码生成 总结 引言 在写HiFi-GAN论文的代码阅读过程中,我发现仅仅通过文字来描述网络结构,不够详细…

ORB-SLAM2学习笔记4之KITTI开源数据集运行ORB-SLAM2生成轨迹并用evo工具评估轨迹

文章目录 0 引言1 KITTI数据集1.1 下载数据1.2 真值轨迹格式转换 2 单目ORB-SLAM22.1 运行ORB-SLAM22.2 evo评估轨迹(tum格式)2.2.1 载入和对比轨迹2.2.2 计算绝对轨迹误差 3 双目ORB-SLAM23.1 运行ORB-SLAM23.2 evo评估轨迹(kitti格式)3.2.1 载入和对比轨迹3.2.2 计算绝对轨迹…

Linux服务器安装部署MongoDB数据库 - 无公网IP远程连接「内网穿透」

文章目录 前言1.配置Mongodb源2.安装MongoDB数据库3.局域网连接测试4.安装cpolar内网穿透5.配置公网访问地址6.公网远程连接7.固定连接公网地址8.使用固定公网地址连接 前言 MongoDB是一个基于分布式文件存储的数据库。由 C 语言编写,旨在为 WEB 应用提供可扩展的高…

升级dubbo3方案

dubbo3 新特性 1. Dubbo3 应用级服务发现设计 显著降低服务发现过程的资源消耗,包括提升注册中心容量上限、降低消费端地址解析资源占用等,使得 Dubbo3 框架能够支持更大规模集群的服务治理,实现无限水平扩容。适配底层基础设施服务发现模型…

【VScode/VS】解决头文件路径问题

vs 中明明包含了头文件所在路径&#xff0c;但是却找不到头文件 首先&#xff0c;将要添加的压缩包解压&#xff0c;放在任意一个盘里&#xff0c;注意&#xff0c;我们在代码里要添加的头文件路径是 #include <tensorflow/c/c_api.h> 接下来我们要添加在VS中的所有路径…

CHI协议保序之trans order保序

一致性系统中&#xff0c;使用三种保序方式&#xff1b; Transaction ordering □ 除了 comp response 来规定 RN 发出的 requeset 的执行顺序之外&#xff0c;还有一种 order 机制来定义RN<->HN,HN<->SN 之间&#xff0c;命令执行的顺序&#xff1a; □ 该机制通…

C语言编程---案例练习

文章目录 格式化输出 格式化输出 %d&#xff0c;输出整数&#xff1b; %f&#xff0c;输出浮点数&#xff1b;%.3f 保留三位小数&#xff1b; %e&#xff0c;输出双精度浮点数&#xff1b; %c&#xff0c;输出单个字符&#xff1b;将字符格式化%d&#xff0c;即转ASCII码&…

解决JMeter+Grafana+influxdb 配置出现transaction无数据情形

问题描述 JMeterGrafanainfluxdb 配置时&#xff0c;Darren洋发现jmeter中明明已经配置好了事务条件以及接口实例信息&#xff0c;但就是在grafana的头部导航栏中的transaction按钮下来没有相应事务数据信息&#xff0c;经过相关资料查询&#xff0c;Darren洋发现执行以下两个步…

EAP系统如何助力光伏制造行业实现数据采集和控制的自动化?

光伏制造行业作为清洁能源领域的重要组成部分&#xff0c;随着市场的扩大和技术的进步&#xff0c;对生产效率、产品质量和成本控制的要求也越来越高。在这个竞争激烈的行业中&#xff0c;企业需要寻求自动化解决方案来提高生产效率和降低人工成本。 图.光伏面板生产&#xff0…

155.最小栈-C++

题目来源&#xff1a;力扣 题目描述&#xff1a; 设计一个支持 push &#xff0c;pop &#xff0c;top 操作&#xff0c;并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素val推入堆栈。 void pop() 删除堆栈顶部…

数据库redis作业

数据库redis作业 redis9种数据类型的基本操作 redis持久化&#xff1a;分别启用rdb和aof&#xff0c;并查看是否有对应文件生成 作业1&#xff1a;redis9种数据类型的基本操作 1、key操作 key * #查询所有的key keys *exists 参数 #参数&#xff1a;key #判断该key是否存…