【Java转Go】快速上手学习笔记(一)之环境安装篇

前言

前两天开始学习Go,需要写篇笔记记录总结一下。

Go它也是可以做web开发的,就像Java一样,做JavaWeb项目,Go也可以做GoWeb项目。当然Go的作用用处肯定不止这个,还有很多,只是因为我目前的话,做的都是JavaWeb项目,公司这边也有考虑后期用Go来做web后端,而不是用Java(因为觉得Java问题太多了,隔三岔五就出现漏洞啥的)。所以我这边的学Go也主要是往web开发这个方向去学的。


前期学基础;然后是发送请求、返回数据、处理数据等;之后还要连接数据库、操作数据库,这里需要学orm框架;最后学web框架,学完就可以尝试搭建一个完整的Goweb项目,进行业务开发了。

应该是大概这么一个流程(因为我现在也只是在学基础篇,有什么补充的可以评论区~)


基础的话,大概有:语法、基本数据类型、变量、常量、运算符、流程控制语句、函数、传参(形参、实参)这几个方面。学完了这些基本的,还有扩展进阶:引用数据类型、值传递、引用传递、切片、指针、匿名函数、回调函数、泛型等等。

后续连接数据库,关于orm框架,我应该是学Gorm,这个对应Java的mybatis。

然后web框架学fiber,对应Java的spring boot。

环境安装

讲完了大概要学什么东西,接下来我们开始安装环境。

sdk环境的话,我们去 Go语言中文网 下载,根据自己的操作系统下载对应的sdk,我下的是windows操作系统的。

在这里插入图片描述
下载好之后,在安装之前,我们先创建好两个文件夹:一个是GOROOT,这个是用来安装sdk环境的目录,就相当于是Java的jdk安装目录;一个是GOPATH,这个是我们以后写的Go代码存放的位置(代码存放位置)。

我的环境安装目录把它和jdk放一起了

在这里插入图片描述
代码存放位置,我也是统一放在了workspace文件夹下(包括Java、前端代码都在这里)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

准备好之后,安装环境,安装完会自动帮我们配置环境变量:

代码存放位置:
在这里插入图片描述

sdk环境目录:

在这里插入图片描述
安装好之后,可以用cmd查看一下有没有安装成功,打开cmd,输入:go version

在这里插入图片描述


开发工具

环境安装好了后,接下来就是开发工具了,Go的编辑器是GoLand,需要去jetbrains官网下:GoLand下载

这个可以下载压缩包,也就是不用安装的,解压即用。不过用的时候和idea一样,也是需要激活的。

当然不用GoLand也可以,可以直接用vscode或者是idea,vscode配置应该要麻烦一点,但是idea就很简单了,直接下个Go插件就行。所以我就没有下载GoLand,直接用idea开发了。

在这里插入图片描述

idea安装好Go插件后,可以new project,这个时候我们就可以选择创建一个Go项目了。

在这里插入图片描述
在这里插入图片描述

点击create就创建了一个Go项目,我们就可以开始愉快地写代码了~

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

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

相关文章

threejs使用gui改变相机的参数

调节相机远近角度 定义相机的配置: const cameraConfg reactive({ fov: 45 }) gui中加入调节fov的方法 const gui new dat.GUI();const cameraFolder gui.addFolder("相机属性设置");cameraFolder.add(cameraConfg, "fov", 0, 100).name(…

代码随想录-字符串01 344.反转字符串541. 反转字符串II替换空格翻转字符串里的单词左旋转字符串

题目目录 ● 344.反转字符串 ● 541. 反转字符串II ● 剑指Offer 05.替换空格 ● 151.翻转字符串里的单词 ● 剑指Offer58-II.左旋转字符串 344.反转字符串 344.反转字符串 很经典的字符串考察点,考察对双指针的熟悉程度。 解法是通过双指针从字符串数组两边向中…

ajax-axios-url-form-serialize 插件

AJAX AJAX 概念 1.什么是 AJAX ? mdn 使用浏览器的 XMLHttpRequest 对象 与服务器通信 浏览器网页中,使用 AJAX技术(XHR对象)发起获取省份列表数据的请求,服务器代码响应准备好的省份列表数据给前端,前端拿到数据数…

Vue3 setup中使用$refs

在 Vue 3 中的 Composition API 中,$refs 并不直接可用于 setup 函数。这是因为 $refs 是 Vue 2 的实例属性,而在 Vue 3 中,setup 函数是与模板实例分离的,不再使用实例属性。 实际工作中确实有需求,在setup 函数使用…

windows服务器下java程序健康检测及假死崩溃后自动重启应用、开机自动启动

前两天由于项目需要,一个windows上的批处理任务(kitchen.bat),需要接到mq的消息通知后执行,为了快速实现这里我们通过springboot写了一个jar程序,用于接收mq的消息,并调用bat文件。 本程序需要实…

MFC140.dll缺失的修复方法,安装MFC140.dll文件

大家好,今天我要和大家分享的是如何正确安装和使用MFC140.dll。MFC140.dll是一种常见的动态链接库文件,它是Microsoft Foundation Classes(MFC)的一部分,被广泛应用于Windows操作系统中的各种应用程序中。在本文中,我们将详细介绍…

Debian10: 安装nut服务器(UPS)

UPS说明: UPS的作用就不必讲了,我选择是SANTAKTGBOX-850,规格为 850VA/510W,可以满足所需,关键是Debian10自带了驱动可以支持,免去安装驱动,将UPS通过USB线连接服务器即可,如下图所示…

大模型基础02:GPT家族与提示学习

大模型基础:GPT 家族与提示学习 从 GPT-1 到 GPT-3.5 GPT(Generative Pre-trained Transformer)是 Google 于2018年提出的一种基于 Transformer 的预训练语言模型。它标志着自然语言处理领域从 RNN 时代进入 Transformer 时代。GPT 的发展历史和技术特点如下: GP…

Java 日期格式(yyyy-MM-dd HH:mm:ss SSS)

常用格式为:yyyy-MM-dd HH:mm:ss 以 2019-12-31 06:07:59:666 时间为例: 字符 含义 Example y(小写的y) 年 yyyy---->2019 M(大写的M) 月 MM---->12 d(小写的d) 一…

论文笔记 Graph Attention Networks

2018 ICLR 1 intro 1.1. GCN的不足 无法完成inductive任务 inductive任务是指: 训练阶段与测试阶段需要处理的graph不同。通常是训练阶段只是在子图上进行,测试阶段需要处理未知的顶点。GGN 的参数依赖于邻接矩阵A/拉普拉斯矩阵L,所以换了…

DTC 19服务学习1

在UDS(统一诊断服务)协议中,0x19是用于DTC(诊断故障代码)信息的服务。以下是你提到的子服务的功能和作用: 0x01 - 报告DTC按状态掩码。这个子服务用于获取当前存储在ECU中的DTC列表。状态掩码用于过滤DTC&a…

【Mariadb高可用MHA】

目录 一、概述 1.概念 2.组成 3.特点 4.工作原理 二、案例介绍 1.192.168.42.3 2.192.168.42.4 3.192.168.42.5 4.192.168.42.6 三、实际构建MHA 1.ssh免密登录 1.1 所有节点配置hosts 1.2 192.168.42.3 1.3 192.168.42.4 1.4 192.168.42.5 1.5 192.168.42.6 …

听GPT 讲Prometheus源代码--rules

Prometheus的rules目录主要包含规则引擎和管理规则的文件: engine.go 该文件定义了规则引擎的接口和主要结构,包括Rule,Record,RuleGroup等。它提供了规则的加载、匹配、评估和结果记录的功能。 api.go 定义了用于管理和查询规则的RESTful API,包括获取、添加、删除规则等方法。…

中大型无人机远程VHF语音电台系统方案

方案背景 中大型无人机在执行飞行任务时,特别是在管制空域飞行时地面航管人员需要通过语音与无人机通信。按《无人驾驶航空器飞行管理暂行条例》规定,中大型无人机应当进行适航管理。物流无人机和载人eVTOL都将进行适航管理,所以无人机也要有…

计算机组成与设计 Patterson Hennessy 笔记(二)MIPS 指令集

计算机的语言:汇编指令集 也就是指令集。本书主要介绍 MIPS 指令集。 汇编指令 算数运算: add a,b,c # abc sub a,b,c # ab-cMIPS 汇编的注释是 # 号。 由于MIPS中寄存器大小32位,是基本访问单位,因此也被称为一个字 word。M…

AI搜索引擎助力科学家创新

开发者希望通过帮助科学家从大量文献中发现联系从而解放科学家,让他们专注于发现和创新。 图片来源:The Project Twins 对于专注于历史的研究者Mushtaq Bilal来说,他在未来科技中投入了大量时间。 Bilal在丹麦南部大学( Universit…

SpringBoot + Vue 前后端分离项目 微人事(九)

职位管理后端接口设计 在controller包里面新建system包,再在system包里面新建basic包,再在basic包里面创建PositionController类,在定义PositionController类的接口的时候,一定要与数据库的menu中的url地址到一致,不然…

[python爬虫] 爬取图片无法打开或已损坏的简单探讨

本文主要针对python使用urlretrieve或urlopen下载百度、搜狗、googto(谷歌镜像)等图片时,出现"无法打开图片或已损坏"的问题,作者对它进行简单的探讨。同时,作者将进一步帮你巩固selenium自动化操作和urllib…

部署工业物联网可以选择哪些通信方案?

部署工业物联网有诸多意义,诸如提升生产效率,降低管理成本,保障生产品质稳定,应对长期从业劳动力变化趋势等。针对不同行业、场景,工业物联网需要选择不同的通信方案,以达到成本和效益的最佳平衡。本篇就简…

《HeadFirst设计模式(第二版)》第十章代码——状态模式

如下图所示,这是一个糖果机的状态机图,要求使用代码实现: 初始版本: package Chapter10_StatePattern.Origin;/*** Author 竹心* Date 2023/8/19**/public class GumballMachine {final static int SOLD_OUT 0;final static int…