【GO开发】MacOS上搭建GO的基础环境-Hello World

在这里插入图片描述

文章目录

  • 一、引言
  • 二、安装Go语言
  • 三、配置环境变量(可跳过)
  • 四、Hello World
  • 五、总结

一、引言

Go语言(Golang)因其简洁、高效、并发性强等特点,受到了越来越多开发者的喜爱。本文将带你一步步在Mac操作系统上搭建Go语言开发环境,让你轻松开始Go语言编程之旅。

二、安装Go语言

  1. 访问Go语言官方网站(https://golang.google.cn/)下载最新版本的Go语言安装包。
    在下载安装资源的时候,发现无法正常下载,所以将资源上传了,需要的开发伙伴自取:
    Go语言安装包 版本:go1.23.1,环境:MacOS
    也可访问Go国内下载地址:
    https://studygolang.com/dl

  2. 打开下载的安装包,按照提示将Go语言安装到Mac上。通常情况下,安装程序会自动将Go语言安装到/usr/local/go目录下。
    傻瓜式安装即可
    在这里插入图片描述
    在这里插入图片描述

  3. 安装完成后,打开终端,输入以下命令验证Go语言是否安装成功:

go version

在这里插入图片描述

如果终端输出Go语言的版本信息,说明安装成功。

三、配置环境变量(可跳过)

如果在第二步中,已经可以直接输出go版本,则不需要手动配置环境变量。
为了方便在终端中使用Go语言命令,需要配置环境变量。

  1. 打开终端,编辑家目录下的.bash_profile文件(如果没有该文件,可以创建一个):
open -e ~/.bash_profile
  1. 在打开的编辑器中,添加以下内容:
export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin

这里的GOPATH是Go语言的工作目录,可以根据个人喜好设置。本文以$HOME/go为例。
3. 保存并关闭编辑器,然后在终端执行以下命令使环境变量生效:

source ~/.bash_profile
  1. 验证环境变量是否配置成功,输入以下命令:
echo $GOPATH

如果终端输出之前设置的GOPATH路径,说明环境变量配置成功。

四、Hello World

现在,我们来编写第一个Go语言程序——Hello World。

  1. 在终端中,创建一个名为hello的目录(在代码的存储目录建一个存放go语言代码的文件夹):
mkdir $GOPATH/src/hello
cd $GOPATH/src/hello
  1. 使用文本编辑器(如Sublime Text、Visual Studio Code等)创建一个名为main.go的文件,并输入以下代码:
package main
import "fmt"
func main() {fmt.Println("Hello, World!")
}

在这里插入图片描述

3 保存文件,然后在终端中运行以下命令编译并执行程序:

go run main.go

如果终端输出“Hello, World!”,恭喜你,第一个Go语言程序运行成功!
在这里插入图片描述

五、总结

本文介绍了在Mac操作系统上搭建Go语言开发环境的方法。通过简单的步骤,你可以在Mac上开始Go语言的编程学习。接下来,你可以尝试编写更复杂的Go语言程序,探索其强大的功能。祝你在Go语言编程的道路上越走越远!

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

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

相关文章

JVM相关

1.JVM内存区域 一个运行起来的java进程就是一个Java虚拟机,就需要从操作系统中申请一大块内存。 内存中会根据作用的不同被划分成不同的区域: (1)栈:存储的内容是代码在执行过程中,方法之间的调用关系&a…

Git提交有乱码

服务器提交记录如图 可知application.properties中文注释拉黄线 ,提示Unsupported characters for the charset ISO-8859-1 打开settings - Editor - File Encodings 因为我们项目的其他文件都是UTF-8,所以,我们将默认值都改成UTF-8 然后…

OTA升级

方式1: 方式2: 服务器与mcu通讯机制

k8s的一些命令

kubectl get nodes :查看节点的状态 查看Pod的状态: kubectl get pod --all -namespacesPending,ContainerCreating,ImagePullBackOff都表明Pod没有就绪,Running才是就绪状态 查看Pod的具体情况: kubectl describe pod podnamek…

GEO数据库提取疾病样本和正常样本|GEO数据库区分疾病和正常样本|直接用|生物信息|生信

GEO数据库提取疾病样本和正常样本|GEO数据库区分疾病和正常样本|直接用|生物信息|生信 代码都可以直接用,修改GSE就可以! 通过代码查看数据的分类,是疾病还是正常样本 ##############################查看对饮GSE样本疾病or正常信息# 指定…

【机器学习】--- 自然语言推理(NLI)

引言 随着自然语言处理(NLP)的迅速发展,**自然语言推理(Natural Language Inference, NLI)**已成为一项重要的研究任务。它的目标是判断两个文本片段之间的逻辑关系。这一任务广泛应用于机器阅读理解、问答系统、对话…

图文讲解HarmonyOS应用发布流程

HarmonyOS应用的开发和发布过程可以分为以下几个步骤:证书生成、应用开发、应用签名和发布。 1. 证书生成: 在开始开发HarmonyOS应用之前,首先需要生成一个开发者证书。开发者证书用于标识应用的开发者身份并确保应用的安全性。可以通过Har…

渗透测试综合靶场 DC-1 通关详解

Vulnhub是一个提供各种漏洞环境的靶场平台,非常适合安全爱好者和渗透测试初学者进行学习和实践。在这个平台上,你可以下载多种虚拟机,这些虚拟机预装了各种漏洞,让你可以在本地环境中进行渗透测试、提权、漏洞利用和代码审计等操作…

nginx进阶篇(二)

文章目录 概图一、 Nginx服务器基础配置实例二、Nginx服务操作的问题三、Nginx配置成系统服务四、Nginx命令配置到系统环境五、Nginx静态资源部署5.1 Nginx静态资源概述5.2 Nginx静态资源的配置指令5.2.1. listen指令5.2.2. server_name指令配置方式匹配执行顺序 5.2.3 locatio…

【与C++的邂逅】--- C++的IO流

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏: 与C的邂逅 本篇博客我们来了解C中io流的相关知识。 🏠 C语言输入输出 C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 sc…

【C++】模拟实现vector

在上篇中我们已经了解过的vector各种接口的功能使用,接下来我们就试着模拟实现一下吧! 注意:我们在此实现的和C标准库中实现的有所不同,其目的主要是帮助大家大概理解底层原理。 我们模拟vector容器的大致框架是: t…

Java入门程序-HelloWorld

Java程序开发的三个步骤 1.编写代码得到 .java 源代码文件 2.使用javac编译得到 .class 字节码文件 3.使用java运行 注意事项 建议代码文件名全英文,首字母大写,满足驼峰命名法,源代码文件的后缀必须是.java 开发HelloWorld程序 &…

进程的属性

tips: task_struct就是linux下的PCB 操作系统不相信任何外部用户,而是只提供窗口,不可能直接与用户打交道,而是通过操作系统 tast_struct用来描述所有进程,用来管理 ; 和 && 可以同时跑两个命令 进…

AI修手有救了?在comfyui中使用Flux模型实现局部重绘案例

🐱‍🐉背景 局部重绘相关的话题我们已经讨论和测试过很多次了,比如说inpaint模型、brushnet模型、powerpaint模型等等,最近对于flux模型重绘画面的案例也越来越多了,那我们就结合flux模型的重绘来试试看效果。 &…

高级大数据开发协会

知识星球——高级大数据开发协会 协会内容: 教你参与开源项目提供新技术学习指导提供工作遇到的疑难问题技术支持参与大数据开源软件源码提升优化以互利共赢为原则,推动大数据技术发展探讨大数据职业发展和规划共享企业实际工作经验 感兴趣的私聊我,…

『功能项目』窗口可拖拽脚本【59】

本章项目成果展示 我们打开上一篇58第三职业弓弩的平A的项目, 本章要做的事情是给坐骑界面挂载一个脚本让其显示出来的时候可以进行拖拽 创建脚本:DraggableWindow.cs using UnityEngine; using UnityEngine.EventSystems; public class DraggableWindo…

linux网络编程2

24.9.18学习目录 一.数据包的传送1.数据包在每层间的传送2.链路层的封包3.网络层、传输层封包格式 二.字节序1.概念2.字节序转换函数 三.IP地址转换四.UDP1.概述2.网络编程接口socket3.UDP的C/S架构4.UDP编程 一.数据包的传送 1.数据包在每层间的传送 传送方数据从运用层到链…

MySQL之内置函数

目录 一:日期函数 二:字符串函数 三:数学函数 四:其他函数 一:日期函数 举例: (1) mysql> select current_date(); ---------------- | current_date() | ---------------- | 2024-09-17 | ---------------- 1 row …

# 利刃出鞘_Tomcat 核心原理解析(十一)-- Tomcat 附加功能 WebSocket -- 3

利刃出鞘_Tomcat 核心原理解析(十一)-- Tomcat 附加功能 WebSocket – 3 一、Tomcat专题 - WebSocket - 案例 - OnMessage分析 1、WebSocket DEMO 案例 实现流程分析:OnMessage 分析 2、在项目 dzs168_chat_room 中,在 websocke…

CSP-CCF★★★201903-2二十四点★★★

目录 一、问题描述 二、解答 方法一:穷举法(只列举了一部分) 方法二:中缀表达式直接求值,两个栈,一个存放数值,一个存放符号 方法三:将中缀表达式转换为后缀来计算注意&#xff…