一文带你GO语言入门

什么是go语言?

Go语言(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go语言的主要特点包括:- 简洁和简单 - 语法简单明快,易于学习和使用


特点

image-20231018181049202

高效

编译速度快,执行效率高

并发支持

原生支持并发,利用goroutine实现高效的并发程序

安全

内存安全,数组边界检查等

快速部署

编译成单个二进制可执行文件,方便部署

少依赖

标准库功能强大,无需额外包依赖

面向对象

支持类似面向对象的封装、继承和多态

Go语言被广泛应用于云平台、网站、分布式系统、网络服务、DevOps等领域。它的高效性能、简单规范以及对现代多核、网络应用的 native 支持,使其成为云原生应用和服务端开发的理想语言。


go语言的安装

windows安装

要在Windows上安装Go语言,您可以按照以下步骤进行操作:

1.访问官方网站 https://golang.org/dl/ 。

2.选择go1.x.x.windows-amd64.msi。

image-20231018191225597

3.双击下载的安装包文件,运行安装程序。如果系统弹出用户控制权限请求,请允许运行。

4.在安装向导界面中,选择要安装的位置(建议使用默认位置)并点击"Next"。

5.在选择要安装的组件界面,确保勾选了"Add go to your PATH environment variable"选项,然后点击"Next"。

6.点击"Install"按钮,开始安装过程。请耐心等待安装完成,可能需要一些时间。

7.安装完成后,您可以在"Installed successfully."界面中取消选中"Run ‘go get’…"选项,并点击"Finish"完成安装。

8.打开命令提示符或者Powershell终端,输入go version命令,检查Go语言是否成功安装。如果您看到类似于go version go1.x.x windows/amd64的输出,表示安装成功。

image-20231018191401623

linux安装

操作步骤:

  1. 在官方网站 https://golang.org/dl/ 中找到适合您CentOS版本的安装包(通常为64位版本)。选择合适的安装包,比如.tar.gz后缀的压缩包。

    image-20231018191935532

  2. 或者使用以下命令下载对应的安装包:

    wget https://golang.org/dl/go1.21.3.linux-amd64.tar.gz
    
  3. 解压安装包。使用以下命令解压下载的压缩包:

    tar -xvf go1.21.3.linux-amd64.tar.gz
    
  4. 将解压后的Go语言安装文件夹移动到适当的位置。使用以下命令将文件夹移动到/usr/local目录下:

    sudo mv go /usr/local
    
  5. 配置Go语言的环境变量。

    vim /etc/profile
    

    修改全局环境变量在/etc/profile文件的最后添加:

    export GOROOT=/usr/local/go
    export GOPATH=$HOME/go
    export PATH=$GOROOT/bin:$PATH
    

    重启环境生效

    source /etc/profile
    
  6. 在终端中输入go version命令来检查Go语言是否成功安装。如果看到类似于go version go1.x.x linux/amd64的输出,表示安装成功。

    go version
    

    微信图片_20231018194116

MacOS安装

在MacOS系统下安装Go语言的方式如下:

  1. 使用Homebrew安装Homebrew是macOS下的包管理器,可以非常方便地安装Go语言:
brew install go
  1. 下载安装包安装也可以从Go官网下载Darwin版本的安装包安装:

    # 下载
    wget https://dl.google.com/go/go1.17.1.darwin-amd64.pkg# 安装
    sudo installer -pkg go1.17.1.darwin-amd64.pkg -target /
    
  2. 设置环境变量安装完成后,设置GOROOT、GOPATH等环境变量:

    export GOROOT=/usr/local/go
    export GOPATH=$HOME/go
    export PATH=$GOROOT/bin:$PATH
    
  3. 验证安装运行go version查看Go版本,确认安装成功。

    go version go1.23.1 linux/amd64
    

goland

什么是goland?

GoLand是JetBrains公司推出的Go语言集成开发环境(IDE)。

goland特点
1.智能代码编辑器

支持代码自动完成、错误检查、高亮等。

2.可视化调试

可设置断点进行调试,查看变量和调用栈。

3.集成版本控制

内置Git、SVN等版本控制系统管理。

4.自动导入

智能地组织和优化导入的包。

5.代码测试

内置测试工具,可以运行和调试测试。

6.跨平台

支持Windows、Mac和Linux。

7.插件扩展

提供丰富的插件来扩展功能。

8.自定义构建

可定制构建工具和任务。

GoLand为Go语言提供了类似IntelliJ IDEA的开发体验,可以大大提高Go语言的开发效率。它支持完整的开发生命周期,是目前最好的Go语言IDE之一。许多Go语言开发者都选择了GoLand来提升生产力。

goLand的安装

去官网https://www.jetbrains.com/go/下载


第一个hello word

1.新建一个hellworld.go文件
2.输入代码
package mainimport "fmt"func main() {fmt.Println("Hello, World!")
}
3.运行结果

image-20231018195630520

总结

至此,我们已经初步完成了go语言开发的环境,并且成功的运行了第一段代码


写在最后

感谢您的支持和鼓励! 😊🙏

如果大家对相关文章感兴趣,可以关注公众号"架构殿堂",会持续更新AIGC,java基础面试题, netty, spring boot, spring cloud等系列文章,一系列干货随时送达!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AP5101C 高压线性恒流 LED电源驱动IC 3D打印机显示灯驱动器

1,产品描述 AP5101C 是一款高压线性 LED 恒流芯片 , 简单 、 内置功率管 , 适用于6- 100V 输入的高精度降压 LED 恒流驱动芯片。电流2.0A。AP5101C 可实现内置MOS 做 2.0A,外置 MOS 可做 3.0A 的。AP5101C 内置温度保护功能 ,温度…

【C++】多态 -- 详解

⚪前言 声明一下,下面的代码和解释都是在 VS2019 下的 X86 程序中进行的,涉及的指针都是 4 bytes。如果要其他平台下,部分代码需要改动。比如:如果是 X64 程序,则需要考虑指针是 8 bytes 问题等等。其它编译环境下&…

汽车屏类产品(二):360全景环视(SVC)、多分割显示、行车记录

前言 随着新能源汽车的快速发展,带动了车载器件的大发展,大的比如域控,小的创新更是不断涌现。而车载显示屏可以说是一大类产品,产品形态也是愈发多样化,比如:仪表cluster、中控IVI、副驾屏、行车记录仪、流媒体后视镜、透明A柱屏、方向盘屏(替代方向盘按键)、门饰板显…

15 | JPA 对 Web MVC 开发者做了哪些支持

我们使用 Spring Data JPA 的时候,一般都会用到 Spring MVC,Spring Data 对 Spring MVC 做了很好的支持,体现在以下几个方面: 支持在 Controller 层直接返回实体,而不使用其显式的调用方法;对 MVC 层支持标…

vant_ CountDown倒计时

语法可以直接在官网查看 需求 后端返回的数据格式如下 [{"id": 1,"btn_text": "1","second": 0},{"id": 2,"btn_text": "1","second": 0}... ]之前约定second最多30s, 因此只需…

一文学会使用WebRTC API

WebRTC(Web Real-Time Communication)是一项开放标准和技术集合,由 W3C 和 IETF 等组织共同推动和维护,旨在通过Web浏览器实现实时通信和媒体流传输。WebRTC于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的…

ELK日志分析系统的详细介绍与部署

文章目录 1. ELK的概述1.1 简介1.2 使用ELK的理由1.3 ELK的主要组件1.3.1 Elasticsearch1.3.2 Kibana1.3.3 Logstash1.3.3.1 简介1.3.3.2 Logstash常用相关命令选项 1.3.3.3 Logstash 的输入和输出流1.3.4 Logstash的相关配置文件 1.3.4 Filebeat1.3.4.1 简介1.3.4.2 filebeat …

华为Atlas 200I DK A2开发者套件--基础使用配置

文章目录 前言一、快速开始二、通过路由器联网三、USB相机总结 前言 Atlas 200I DK A2基础使用配置方法。准备好键鼠、显示器、网线、USB拓展器。 一、快速开始 下载最新官方Windows版本昇腾开发者套件一键制卡工具: https://ascend-repo.obs.cn-east-2.myhuaweic…

VBA技术资料MF71:查找所有空格并替换为固定字符

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到…

基于鹰栖息优化的BP神经网络(分类应用) - 附代码

基于鹰栖息优化的BP神经网络(分类应用) - 附代码 文章目录 基于鹰栖息优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.鹰栖息优化BP神经网络3.1 BP神经网络参数设置3.2 鹰栖息算法应用 4.测试结果&#x…

Linux高性能服务器编程 学习笔记 第十六章 服务器调制、调试和测试

Linux平台的一个优秀特性是内核微调,即我们可以通过修改文件的方式来调整内核参数。 服务器开发过程中,可能会碰到意想不到的错误,一种调试方法是用tcpdump抓包,但这种方法主要用于分析程序的输入和输出,对于服务器的…

23基于MATLAB的小波降噪,默认阈值消噪,强制消噪,给定软阈值消噪方法,数据直接替换后就可以跑。

基于MATLAB的小波降噪,默认阈值消噪,强制消噪,给定软阈值消噪方法,数据直接替换后就可以跑。 https://www.xiaohongshu.com/explore/652d57c600000

10.Linear Map transformation rules

线性映射 从一个基底到另一个基底 所遵循的转换规则。 假设: 由一个矩阵给出的线性映射在这,并且是在基底e上表示, 该线性映射将e1变成0.5个e1,将e2变成2个e2; 假设有个向量V,其分量是【1,1…

从零开始学习秒杀项目

构思了很多种讲述这个简易版的秒杀项目的思路,比如按照功能分类,按照项目亮点串起来讲述,总觉得不适合基础薄弱的同学来学习,所以本项目按照从搭建开始,过程中需要什么来学习什么。 技术栈 SpringBootmybatisPlus&am…

从零开始的stable diffusion

stable diffusion真的是横空出世,开启了AIGC的元年。不知你是否有和我一样的困惑,这AI工具好像并不是那么听话? 前言 我们该如何才能用好stable diffusion这个工具呢?AI究竟在stable diffusion中承担了什么样的角色?如…

【EI会议征稿】2024年第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024)

2024年第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024) 2024 4th International Conference on Artificial Intelligence, Automation and High Performance Computing 2024第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024)将于202…

文心一言 4.0 ERNIE-Bot 4.0 :ERNIE-Bot 4.0 大模型深度测试体验报告

本心、输入输出、结果 文章目录 文心一言 4.0 ERNIE-Bot 4.0 :ERNIE-Bot 4.0 大模型深度测试体验报告前言相关跳转文心一言 4.0 ERNIE-Bot 4.0 接口简介Bash 请求示例代码Windows 模式使用 Python 请求如果直接使用官方提供的代码文心一言 4.0 ERNIE-Bot 4.0 API 在…

最新百度统计配置图文教程,获取siteId、百度统计AccessToken、百度统计代码教程

一、前言 很多网友开发者都不知道百度统计siteId、百度统计token怎么获取,在网上找的教程都是几年前老的教程,因此给大家出一期详细百度统计siteId、百度统计token、百度统计代码获取详细步骤教程。 二、登录到百度统计 1.1 登录到百度统计官网 使用…

服务日志性能调优,由log引出的巨坑

只有被线上服务问题毒打过的人才明白日志有多重要! 谁赞成,谁反对?如果你深有同感,那恭喜你是个社会人了:) 日志对程序的重要性不言而喻,轻巧、简单、无需费脑,程序代码中随处可见…

Ubuntu:Arduino IDE 开发环境配置【保姆级】

物联网开发学习笔记——目录索引 本章主要介绍在Ubuntu系统搭建Arduino IDE 开发环境,windows系统请移步:Windows:Arduino IDE 开发环境配置【保姆级】 参考官网:Arduino - Home 有关更多详细信息,请参阅 Arduino I…