一文带你GO语言入门

news2025/1/17 15:23:02

什么是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 main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}
3.运行结果

image-20231018195630520

总结

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


写在最后

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

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

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

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

相关文章

Java OpenJDK 8u392 Windows x64

文章目录 (一)Azul(二)Adopt(三)IBM(四)Oracle (一)Azul WEB Page:🔗Download Azul Zulu Builds of OpenJDK Windows archive&#xf…

绝对详细的MyBatis代码生成器讲解

0.简介 在springboot工程中如果使用mybatis作为持久层框架,那必须知道如何自动生成 java 实体类、dao 层接口(mapper 接口)及mapper.xml文件,这样可以减少不必要的开发。 生成代码的方式有很多种,比如说利用idea的插…

rust学习—— 控制流if 表达式

控制流 根据条件是否为真来决定是否执行某些代码,或根据条件是否为真来重复运行一段代码,是大部分编程语言的基本组成部分。Rust 代码中最常见的用来控制执行流的结构是 if 表达式和循环。 if 表达式 if 表达式允许根据条件执行不同的代码分支。你提供…

C++学习:数据的存储、作用域、链接

一、数据的存储方式 C中使用3种不同的方案来存储数据,不同方案的区别在于数据在内存中保留的时间。 1、自动存储 在函数定义中声明的变量,以及函数的参数,是自动存储的。在程序执行对应函数的时候创建这些变量,对应的函数执行完…

别再卷组件库了,Vue 拖拽库都断代了!

前言 最近在测试 Tailwind CSS 和 Uno CSS 这两种原子化 CSS 工具是否能够有效减少打包后的文件体积时,先开始分析这些工具的优缺点,然后再直接上数据,最后做了一款经典的 TodoList 来进行测试,文章都写好了就差最后的数据了。 …

中国人民大学与加拿大女王大学金融硕士项目:开启你的金融精英之路

在全球化的今天,金融行业的发展日新月异,对金融人才的需求也日益增长。为了满足这一需求,中国人民大学与加拿大女王大学联合推出了金融硕士项目,旨在培养具有国际视野、专业素养和创新能力的金融精英。 这一开创性的项目将两大世…

VR全景图片如何拍摄制作,拍摄制作过程中要注意什么?

引言: VR全景图片就是通过专业的相机设备捕捉到的一个空间的高清图像,再经过专业工具进行拼合,呈现出一种环绕式的视觉效果。想象一下,当你站在一个完全真实的环境中,可以自由地转动视角,看到四周的景色&a…

2023.10(u盘刻录iso)主机,vmware,virtualbox安装linux/ubuntu/kali/centos stream9/arch

download 1 kali官网 2 ubuntu官网 3vmware workstation pro(最新版17pro) 4 virtualbox for linux sudo apt install virtualbox-ext-pack 5 win32 disk imger linux dd 刻录iso到u盘 #查看U盘路径 fdisk -l #图形界面 以kali为例会在桌面出现挂载图标 点开之后输入pwd寻…

基于svg+js实现简单动态时钟

实现思路 创建SVG容器&#xff1a;首先&#xff0c;创建一个SVG容器元素&#xff0c;用于容纳时钟的各个部分。指定SVG的宽度、高度以及命名空间。 <svg width"200" height"200" xmlns"http://www.w3.org/2000/svg"><!-- 在此添加时钟…

森海塞尔EW-DP SKP直插式发射机:真正的无失真录制

韦德马克&#xff0c;2023年9月15日 – 10月底&#xff0c;EW-DP系列将再添新品——EW-DP SKP直插式发射机&#xff0c;面向摄像师、广播电视公司和电影制作人。板载32位浮点录制&#xff0c;结合该系列领先的134 dB发射机动态范围&#xff0c;让音频失真不复存在。无论要在现场…

将 windows 控制台编码修改成UTF-8

将 windows 控制台编码修改成UTF-8 临时修改&#xff0c;在控制台输入以下命令&#xff0c;65001代表utf-8编码 chcp 65001重新打开控制台后&#xff0c;又会变成默认GBK编码 永久修改&#xff0c;设置>时间和语言>语言>管理语言设置 打开更改系统区域设置&#xf…

【Spring Boot项目】根据用户的角色控制数据库访问权限

文章目录 简介方法一添加数据库依赖配置数据库连接创建用户角色表创建Spring Data JPA实体和仓库实现自定义的网关过滤器配置网关过滤器几个简单的测试API 方法二创建数据库访问接口实现数据库访问接口创建用户角色判断逻辑创建网关过滤器配置网关过滤器 总结 简介 在一些特定…

0基础学习PyFlink——Map和Reduce函数处理单词统计

在很多讲解大数据的案例中&#xff0c;往往都会以一个单词统计例子来抛砖引玉。本文也不免俗&#xff0c;例子来源于PyFlink的《Table API Tutorial》&#xff0c;我们会通过几种方式统计不同的单词出现的个数&#xff0c;从而达到循序渐进的学习效果。 常规方法 # input.py …

《Python入门核心技术》专栏总目录

❤️ 专栏名称&#xff1a;《Python入门核心技术》 &#x1f338; 内容介绍&#xff1a;基础篇、进阶篇、Web篇、网络爬虫、数据分析、数据可视化、自动化等&#xff0c;适合零基础和进阶的同学。 &#x1f680; 订阅专栏&#xff1a;订阅后可阅读专栏内所有内容&#xff0c;专…

易点易动设备管理系统:提升生产企业设备保养效率的利器

在现代生产企业中&#xff0c;设备保养是确保生产线稳定运行和产品质量的关键环节。然而&#xff0c;传统的设备保养方式往往面临效率低下、数据不准确等问题&#xff0c;影响了生产效率和竞争力。随着科技的进步&#xff0c;易点易动设备管理系统应运而生&#xff0c;以其智能…

【Netty专题】【网络编程】从OSI、TCP/IP网络模型开始到BIO、NIO(Netty前置知识)

目录 前言前置知识一、计算机网络体系结构二、TCP/IP协议族2.1 简介*2.2 TCP/IP网络传输中的数据2.3 地址和端口号2.4 小总结 三、TCP/UDP特性3.1 TCP特性TCP 3次握手TCP 4次挥手TCP头部结构体 3.2 UDP特性 四、总结 课程内容一、网络通信编程基础知识1.1 什么是Socket1.2 长连…

kkFileView源码编译并发布详细教程

文章目录 概述为啥要自己进行源码编译我不懂Java代码&#xff0c;可以编译吗为什么写这篇教程 废话不多说&#xff0c;下面是详细操作教程安装JDK安装Git安装Maven编译kkFileView源码 kkFileView安装和使用编译后获得安装包&#xff0c;进行解压修改配置文件执行在线安装&#…

开源贡献难吗?

本文整理自字节跳动 Flink SQL 技术负责人李本超在 CommunityOverCode Asia 2023 上的 Keynote 演讲&#xff0c;李本超根据自己在开源社区的贡献经历&#xff0c;基于他在贡献开源社区过程中的一些小故事和思考&#xff0c;如何克服困难&#xff0c;在开源社区取得突破&#x…

DNS压测工具-dnsperf的安装和使用(centos)

系统调优 系统调优脚本&#xff0c;保存为sh文件&#xff0c;chmod提权后执行即可 #!/bin/sh #系统全局允许分配的最大文件句柄数&#xff1a; sysctl -w fs.file-max2097152 sysctl -w fs.nr_open2097152 echo 2097152 > /proc/sys/fs/nr_open #允许当前会话 / 进程打开文…

1.JDK的安装方法以及环境变量的配置

学习Java的第一步应该从配置环境开始&#xff0c;这篇博文介绍了在哪下载安装包以及如何在windows电脑中配置&#xff0c;希望大家看完后可以独立安装 ~ 文章目录 一、下载安装包二、 安装路径配置三、 环境变量配置四、 验证是否配置成功 一、下载安装包 安装包可以从官网下载…