当前位置: 首页 > news >正文

【Go语言学习】安装与配置

文章目录

  • 前言
  • 一、Go语言学习站
  • 二、安装与配置
    • 1.安装
    • 2.环境变量配置
    • 3.Gland编辑器安装与配置
    • Hello, World!
  • 总结


前言

Go语言特性

Go,又称为 Golang,是一门开源的编程语言,由 Google 开发。Go 语言的设计目标是提供一种简单、快速、高效、安全的编程语言,同时具有静态类型、垃圾回收、并发编程等特性。


  • 简单易学:Go 语言的语法简单清晰,易于理解和学习。

  • 并发编程:Go 语言提供了原生的并发编程支持,使得编写高并发程序变得更加容易。

  • 高效性能:Go 语言具有高效的内存管理和垃圾回收机制,可以在不牺牲性能的情况下实现高效的编程。

  • 跨平台支持:Go 语言可以在各种操作系统上运行,如 Windows、Linux、MacOS 等。

  • 多样性的应用场景:Go 语言可以用于 Web 开发、网络编程、系统编程、数据库操作、人工智能等领域。

  • 社区活跃:Go 语言的社区非常活跃,有很多开源项目和工具,能够为开发者提供很多便利。

以下是本篇文章正文内容,下面案例可供参考

一、Go语言学习站

  1. Go 官方网站:https://golang.org/ - 这是 Go 语言的官方网站,提供了完整的文档、教程和代码示例。

  2. Go by Example:https://gobyexample.com/ - 这是一个通过实际代码示例来学习 Go 语言的网站。

  3. A Tour of Go:https://tour.golang.org/welcome/1 - 这是一个交互式的 Go 语言学习教程,通过在线编写代码来帮助初学者学习 Go 语言。

  4. Learn Go with Tests:https://quii.gitbook.io/learn-go-with-tests/ - 这是一个通过测试驱动开发的方式来学习 Go 语言的教程。

  5. Go 学习笔记:https://www.topgoer.com/ - 这是一个提供了很多 Go 语言学习资源的网站,包括教程、博客文章、视频教程等。

二、安装与配置

1.安装

官网下载:https://go.dev/dl/
在这里插入图片描述
在这里插入图片描述
这里我们尽量不要选c盘安装:
在这里插入图片描述
在这里插入图片描述
安装完成
在这里插入图片描述

2.环境变量配置

和其他语言一样go也需要配置环境:
创建一个文件夹用于go语言项目存放:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里是指向我们的安装目录:

在这里插入图片描述
新建系统变量:GOROOT指向go安装位置
在这里插入图片描述
新建GOPATH指向新建的文件夹:
在这里插入图片描述

windows+r 弹出cmd窗口指向go env查看配置是否成功
在这里插入图片描述

在goproject中创建三个文件夹:

在GOPATH目录下新建三个文件夹
bin:用来存放编译后生成的可执行文件
pkg:用来存放编译后生成的归档文件
src: 用来存放源码文件

在这里插入图片描述
目前流行的项目结构:
在这里插入图片描述
企业开发者框架:
在这里插入图片描述

3.Gland编辑器安装与配置

编辑器:goland和Visual Studio Code这两款编辑器都非常不错此教程以goland进行安装
goland官网:https://www.jetbrains.com/go/
注意:goland是收费的
在这里插入图片描述
如果学生党买不了正版推荐:https://3.jetbra.in/(懂得都懂)建议大家使用正版软件
下载完成后安装:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
新建项目打开设置

在这里插入图片描述
在这里插入图片描述
编辑GOROOT:
在这里插入图片描述
编辑GOPATH:

在这里插入图片描述
创建文件夹和goproject文件夹相同:创建main.go文件
在这里插入图片描述
设置中文:(我这已经改了)
在这里插入图片描述
在这里插入图片描述

安装完重启完成

Hello, World!

新建main.go文件:
package mainimport "fmt"func main() {fmt.Println("Hello, World!")
}

在这里插入图片描述

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

总结

以上就是今天要讲的内容,本文仅仅简单介绍了GO的安装与简单的使用,后面将对go语言做一个深度的学习,学习GO语言的主要目的是为了后面安全开发,GO的语言现在非常火,这是我学习这个的主要目的。

相关文章:

【Go语言学习】安装与配置

文章目录前言一、Go语言学习站二、安装与配置1.安装2.环境变量配置3.Gland编辑器安装与配置Hello, World!总结前言 Go语言特性 Go,又称为 Golang,是一门开源的编程语言,由 Google 开发。Go 语言的设计目标是提供一种简单、快速、高效、安全…...

HCIP-5OSPF区域类型学习笔记

1、OSPF区域类型 OSPF提出了区域的概念(AREA),区域是将所有运行OSPF 的路由器人为的分成不同的组,以区域ID来标示。在区域内路由计算的方法不变,由于划分区域之后,每个区域内的路由器不会很多,…...

C语言再学习第三章

例题3-1 编写一个函数&#xff0c;实现华氏度和摄氏度的转化。 已知公式&#xff1a;c &#xff08;5/9)*(f-32) #include <stdio.h>double f_value 0; double c_value 0; int main(void) {printf("请输入华氏温度\n");scanf("%lf",&f_valu…...

【aiy篇】小目标检测综述

小目标检测&#xff08;Small Object Detection&#xff09;是指在图像中检测尺寸较小的目标物体&#xff0c;通常是指物体的尺寸小于图像大小的1/10或者更小&#xff0c;COCO为例&#xff0c;面积小于等于1024像素的对象维下目标。小目标检测是计算机视觉领域的一个重要研究方…...

常用Linux命令的基本使用

序号 命令 对应英文 作用 1 ls list 查看当前文件夹下的内容 2 pwd print work directory 查看当前所在文件夹 3 cd[目录名] changge directory 切换文件夹 4 touch[文件名] touch 如果文件不存在&#xff0c;新建文件 5 mkdir[目录名] make directory …...

对跳表的深入理解

一&#xff0c;如何理解跳表 简单说跳表&#xff08;Skip list&#xff09;就是链表的“二分查找”。redis 的有序集合用的就是跳表算法。跳表是一种各方面性能都比较优秀的动态数据结构&#xff0c;可以支持快速地插入、删除、查找操作&#xff0c;写起来也不复杂&#xff0c…...

C++017-C++冒泡排序与插入排序

文章目录C017-C冒泡排序与插入排序冒泡排序与插入排序目标冒泡排序排序规则冒泡排序优化插入排序题目描述在线练习&#xff1a;总结C017-C冒泡排序与插入排序 在线练习&#xff1a; http://noi.openjudge.cn/ https://www.luogu.com.cn/ 冒泡排序与插入排序 参考&#xff1a;…...

数据结构基础之链表

目录 前言 1、什么是链表 2、添加元素 3、虚拟头结点 4、查询&修改元素 5、删除元素 附&#xff1a;完整代码 前言 又到周末了&#xff0c;修整了一天&#xff0c;继续来写点东西吧&#xff0c;今天&#xff0c;我们来学习数据结构中的另一种基础的数据结构——链表…...

css 的渲染层合成是什么,浏览器如何创建新的渲染层

在 DOM 树中每个节点都会对应一个渲染对象&#xff08;RenderObject&#xff09;&#xff0c;当它们的渲染对象处于相同的坐标空间&#xff08;z 轴空间&#xff09;时&#xff0c;就会形成一个 RenderLayers&#xff0c;也就是渲染层。渲染层将保证页面元素以正确的顺序堆叠&a…...

nacos-sdk-rust binding to NodeJs

广告时间 nacos-sdk-rust-binding-node : nacos-sdk-rust binding to NodeJs with napi. Tip: nacos-sdk-nodejs 仓库暂未提供 2.x gRPC 交互模式&#xff0c;为了能升级它&#xff0c;故而通过 node addon 方式调用 nacos-sdk-rust npm 包 -> https://www.npmjs.com/packa…...

MySQL下载安装以及环境配置教程

目录MySQL 下载MySQL 安装配置环境变量MySQL 下载 进入官方网站 https://www.mysql.com/ 点击 DOWNLOADS 进入下载页面 免费版本点击下方的 MySQL Community (GPL) Downloads 点击 MySQL Community Server 点击 Go to Download Page 进入下载页面 点击 Download 点击 No thank…...

概率论 1.3 古典概型与几何概型

1.3.1 排列与组合排列从n个不同元素任取r(r<n)个元素排成一列(考虑元素出现的先后次序)&#xff0c;称此为一个排列&#xff0c;此种排列的总数为n(n-1)....(n-r1)n!/(n-r)&#xff01;&#xff0c;若rn,则称为全排列&#xff0c;2.重复排列从n个不同元素中每次取出一个,放回…...

HTML DOM

通过 HTML DOM&#xff0c;可访问 JavaScript HTML 文档的所有元素。HTML DOM (文档对象模型)当网页被加载时&#xff0c;浏览器会创建页面的文档对象模型&#xff08;Document Object Model&#xff09;。HTML DOM 定义了用于 HTML 的一系列标准的对象&#xff0c;以及访问和处…...

Vue组件-$refs、$nextTick和name属性的使用

Vue组件-$refs和$nextTick使用一、获取DOM二、$refs获取组件对象三、$nextTick异步更新DOM四、组件name属性的使用一、获取DOM 通过id或ref属性获取原生DOM 在mounted生命周期 – 2种方式获取原生DOM标签 目标标签 – 添加id / ref恰当时机, 通过id / 通过ref属性 获取目标标签…...

【Spark】Spark的DataFrame向Impala写入数据异常及源码解析

背景 事情是这样的&#xff0c;当前业务有一个场景: 从业务库的Mysql抽取数据到Hive 由于运行环境的网络限制&#xff0c;当前选择的方案&#xff1a; 使用spark抽取业务库的数据表&#xff0c;然后利用impala jdbc数据灌输到hive。&#xff08;没有spark on hive 的条件&…...

学习笔记-架构的演进之限流-3月day03

文章目录前言限流的目标流量统计指标限流设计模式流量计数器模式滑动时间窗模式漏桶模式令牌桶模式分布式限流总结附前言 任何一个系统的运算、存储、网络资源都不是无限的&#xff0c;当系统资源不足以支撑外部超过预期的突发流量时&#xff0c;就应该要有取舍&#xff0c;建…...

动态规划 背包问题

动态规划 背包问题 问题描述&#xff1a; 有一个背包&#xff0c;总容量为12。有6件物品&#xff0c;每件物品的重量和价值不同&#xff0c;求在背包总容量12的前提下&#xff0c;装进物品的最大价值以及装进物品的编号 单个物品重量和价值&#xff1a; 为方便进行思考&#…...

C++ Primer Plus 学习笔记(四)—— 内存模型和名称空间

1 单独编译 C允许将组件函数放在独立的文件即头文件中&#xff0c;头文件中可以包含以下内容&#xff1a; 函数原型&#xff1b;使用#define或const定义的符号常量&#xff1b;结构声明&#xff1b;类声明&#xff1b;模板声明&#xff1b;内联函数。 注意&#xff0c;在包含…...

详解基于 Celestia、Eclipse 构建的首个Layer3 链 Nautilus Chain

以流支付为主要概念的Zebec生态&#xff0c;正在推动流支付这种新兴的支付方式向更远的方向发展&#xff0c;该生态最初以Zebec Protocol的形态发展&#xff0c;并从初期的Solana进一步拓展至BNB Chian以及Near上。与此同时&#xff0c;Zebec生态也在积极的寻求从协议形态向公链…...

列表与数组的转化

目录用np.array(a)将列表转换为数组列表转数组的特殊情况(一)列表转数组的特殊情况(二)针对子元素个数不一致的解决办法用a.tolist()函数将数组转化为列表在python的学习中&#xff0c;经常会用到数组与列表的相互转化&#xff0c;本文主要介绍下关于数组与列表转化的问题。用n…...

从《西部世界》到现实:AI智能体如何重塑游戏NPC与虚拟社会?

从《西部世界》到现实&#xff1a;AI智能体如何重塑游戏NPC与虚拟社会&#xff1f; 当《西部世界》中的NPC开始拥有记忆、情感和自主决策能力时&#xff0c;观众惊叹于科幻与现实的边界正在模糊。如今&#xff0c;大型语言模型&#xff08;LLM&#xff09;驱动的AI智能体正将这…...

OSINT自动化平台ClawShield:模块化架构与安全运营实战解析

1. 项目概述&#xff1a;一个面向安全运营的公开情报收集与分析平台最近在整理自己的开源项目收藏夹&#xff0c;发现一个挺有意思的仓库&#xff0c;叫SleuthCo/clawshield-public。乍一看这个名字&#xff0c;“ClawShield”&#xff0c;爪子与盾牌&#xff0c;就透着一股子攻…...

深度解析:Performance-Fish如何通过四级缓存架构实现《环世界》400%性能优化

深度解析&#xff1a;Performance-Fish如何通过四级缓存架构实现《环世界》400%性能优化 【免费下载链接】Performance-Fish Performance Mod for RimWorld 项目地址: https://gitcode.com/gh_mirrors/pe/Performance-Fish Performance-Fish是《环世界》&#xff08;Rim…...

Applite:告别命令行!macOS软件管理的图形化终极解决方案

Applite&#xff1a;告别命令行&#xff01;macOS软件管理的图形化终极解决方案 【免费下载链接】Applite User-friendly GUI macOS application for Homebrew Casks 项目地址: https://gitcode.com/gh_mirrors/ap/Applite 还在为Homebrew复杂的命令行操作而头疼吗&…...

【优化交叉口的绿灯时间】基于遗传算法的交通灯管理研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

3分钟掌握猫抓扩展:轻松捕获网页视频的终极秘籍

3分钟掌握猫抓扩展&#xff1a;轻松捕获网页视频的终极秘籍 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾经遇到过这样的情况&#xff1…...

C++定时器避坑指南:线程安全、资源泄漏与时间轮参数怎么调?一次讲清楚

C定时器避坑指南&#xff1a;线程安全、资源泄漏与时间轮参数调优实战 在分布式系统和高并发场景中&#xff0c;定时器如同系统的心跳机制&#xff0c;其稳定性直接决定服务可靠性。去年某电商平台大促期间&#xff0c;由于定时任务堆积导致的雪崩效应&#xff0c;造成近千万损…...

怎么找到一个行业的源头工厂、绕开中间商?一套五步识别流程

你下了单&#xff0c;货到了&#xff0c;质量也还行。但心里一直有个疙瘩&#xff1a;这家供应商到底是自己在生产&#xff0c;还是从别处转手赚了你一道差价&#xff1f; 这个问题对采购方和跨境卖家不是洁癖&#xff0c;是真金白银。同一款产品&#xff0c;源头工厂和中间商的…...

基于MCP协议构建AI数据连接器:从原理到SQL查询服务器实践

1. 项目概述&#xff1a;一个连接AI与数据源的“翻译官”最近在折腾AI应用开发&#xff0c;特别是想让大语言模型&#xff08;LLM&#xff09;能直接、安全地访问我自己的数据库、API或者文件系统时&#xff0c;遇到了一个普遍难题&#xff1a;怎么让AI理解并操作这些外部数据源…...

如何在Windows上无缝安装安卓应用:APK安装器终极指南

如何在Windows上无缝安装安卓应用&#xff1a;APK安装器终极指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾在电脑上羡慕安卓应用的便利&#xff0c;却苦…...