一文带你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.hqwc.cn/news/140007.html

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

相关文章

金山终端安全系统V9.0 SQL注入漏洞复现

0x01 产品简介 金山终端安全系统是一款为企业提供终端防护的安全产品,针对恶意软件、病毒和外部攻击提供防范措施,帮助维护企业数据和网络。 0x02 漏洞概述 金山终端安全系统V9.0 /inter/update_software_info_v2.php页面存在sql注入漏洞,该…

ORACLE内存结构

内存体系结构 ​​​​​​​ 目录 内存体系结构 2.1自动内存管理 2.2自动SGA内存管理 2.3手动SGA内存管理 2.3.1数据库缓冲区 2.3.1.1保留池 2.3.1.2回收池 2.3.2共享池 2.3.2.1SQL查询结果和函数查询结果 2.3.2.2库缓存 2.3.2.3数据字典缓存 2.3.3大池 2.3.4 …

【Linux学习笔记】代码编辑工具vim

1. vim工具基本模式的转换2. vim命令模式下的各种编辑命令2.1. 光标行定位2.2. 光标自由定位2.3. 复制粘贴2.4. 删除2.5. 文本的大小写替换2.6. 文本的替换2.7. 文本的前删后删2.8. 撤销操作 3. vim底行模式下的命令3.1. 设置行号与取消设置行号3.2. 分屏操作3.3. 在不退出vim的…

安防视频监控平台EasyCVR出现视频流播放卡顿情况,如何优化?

视频集中存储/云存储/视频监控管理平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、智能分析等。AI智能/大数据视频分析EasyCVR平台已经广泛应用在工地、工厂、园区、楼…

【MultiOTP】Docker安裝MultiOTP, 让Windows登入更安全(MFA)

序 在当前数字时代,网络安全成为了一个非常重要的话题。随着越来越多的人和组织依赖于计算机系统来进行工作和存储敏感信息,确保身份验证安全变得至关重要。双因素身份验证(2FA)是一种强大的安全措施,可在传统的用户名…

TDengine 资深研发整理:基于 SpringBoot 多语言实现 API 返回消息国际化

作为一款在 Java 开发社区中广受欢迎的技术框架,SpringBoot 在开发者和企业的具体实践中应用广泛。具体来说,它是一个用于构建基于 Java 的 Web 应用程序和微服务的框架,通过简化开发流程、提供约定大于配置的原则以及集成大量常用库和组件&a…

【OpenVINO】OpenVINO C# API 常用 API 详解与演示

OpenVINO C# API 常用 API 详解与演示 1 安装OpenVINO C# API2 导入程序集 3 初始化OpenVINO 运行时内核4 加载并获取模型信息4.1 加载模型4.2 获取模型信息 5 编译模型并创建推理请求6 张量Tensor6.1 张量的获取与设置6.2 张量的信息获取与设置 7 加载推理数据7.1 获取输入张量…

ChatGPT在测试计划中的应用策略

简介 测试计划是指描述了要进行的测试活动的范围、方法、资源和进度的文档。它主要包括测试项、被测特性、测试任务和风险控制等。 所以在使用ChatGPT输出结果之前,我们需要先将文档的内容框架梳理好,以及将内容范围划定好,必要的时候&#x…

【Hello Algorithm】暴力递归到动态规划(三)

暴力递归到动态规划(三) 最长公共子序列递归版本动态规划 最长回文串子序列方法一方法二递归版本动态规划 象棋问题递归版本动态规划 咖啡机问题递归版本动态规划 最长公共子序列 这是leetcode上的一道原题 题目连接如下 最长公共子序列 题目描述如下…

【Golang】grpc环境踩的坑

关于’protoc-gen-go’ 不是内部或外部命令 这个问题的出现是因为没有这个文件导致的 这个文件要通过我们下载的google.golang.org这个文件编译生成的 这里建议下载google提供的grpc包 protobuf的源码: git clone https://github.com/golang/protobuf 下载好之后进…

MATLAB——RBF、GRNN和PNN神经网络案例参考程序

欢迎关注“电击小子程高兴的MATLAB小屋” GRNN_PNN程序 %% I. 清空环境变量 clear all clc %% II. 训练集/测试集产生 %% % 1. 导入数据 load iris_data.mat %% % 2 随机产生训练集和测试集 P_train []; T_train []; P_test []; T_test []; for i 1:3 temp_input …

Spring框架

文章目录 Spring 框架1 概述2 IOC3 Bean管理3.1 XML配置方式3.2 Java注解方式3.3 Java代码方式3.4 对象之间调用示例3.5 自动装配 4 单例和多例4.1 单例(Singleton)4.2 多例(Prototype) 5 生命周期6 注解管理Bean6.1 Component、S…