编写第一个Go程序

编写第一个Go程序

1. 开发环境构建

在Go语言中,开发环境的构建需要设置GOPATH环境变量。在1.8版本之前,必须显式设置GOPATH环境变量。而在1.8版本及之后,如果没有设置GOPATH,Go将使用默认值。
在Unix系统上,默认值为$HOME/go,而在Windows系统上,默认值为%USERPROFILE%/go。
在MAC上GOPATH可以通过修改 ~/.bash_profile来设置。
查询go版本

2. 基本程序结构

Go程序的基本结构包括包声明、引入依赖和功能实现。以下是一个简单的Go程序示例:

来自云尔Websites CSDN博客

package main // 包声明,表示代码所在的模块(包)import "fmt" // 引入代码依赖// 功能实现
func main() {fmt.Println("Hello World!")
}

3. 应用程序入口

在Go语言中,应用程序的入口必须是main包:package main。
这意味着必须有一个文件名为main.go的文件,并且该文件必须属于main包,入口函数必须是main函数:func main()
文件名不一定是main.go。

4. 退出返回值

在Go语言中,main函数不支持任何返回值。如果需要返回程序的状态,可以使用os.Exit函数来实现。例如:

package mainimport ("fmt""os"
)func main() {fmt.Println("Hello World!")os.Exit(0) // 返回状态为0表示程序正常退出,来自云尔Websites CSDN博客
}[来自云尔Websites CSDN博客 ](https://blog.csdn.net/websites/category_12448757.html)

5. 获取命令行参数

在Go语言中,main函数不支持传入参数。如果需要获取命令行参数,可以使用os.Args切片来获取。以下是一个示例:

package mainimport ("fmt""os"
)func main() {fmt.Println("命令行参数:", os.Args)
}

在程序中直接通过os.Args切片来获取命令行参数。os.Args是一个字符串切片,其中第一个元素是程序的名称,后续元素是传递给程序的命令行参数。

6. 运行程序

执行Go程序:

go run test.go

使用 go build 命令来生成二进制文件:

go build test.go 
./test

go build命令的使用

视频课程请私聊。

来自云尔Websites CSDN博客

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

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

相关文章

基于YOLOv8模型的条形码二维码检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要:基于YOLOv8模型的条形码二维码检测系统可用于日常生活中检测与定位条形码与二维码目标,利用深度学习算法可实现图片、视频、摄像头等方式的目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测…

【JavaScript】解构

解构(Destructuring)是 JavaScript 中一种强大的语法特性,它允许你从数组或对象中提取值并赋值给变量,使代码更加简洁和易读。JavaScript 中有两种主要的解构语法:数组解构和对象解构。 数组解构 数组解构用于从数组…

端到端可追溯性在产品开发中有哪些好处

追溯性是指跟踪需求与其他工件(从测试用例到更高级别的系统或子系统需求)之间的上游和下游关系的能力。通过端到端的追溯性,团队可以查看产品的开发过程是否当前处于正轨,以及查看与其相关的所有历史和背景。 至少,这…

Python 数据分析入门教程:Numpy、Pandas、Matplotlib和Scikit-Learn详解

文章目录 Python数据分析入门教程Numpy库Pandas库Matplotlib绘图Scikit-Learn机器学习 NumPy数组与运算NumPy数组对象数组创建函数数组运算数组索引数组操作总结 总结python精品专栏推荐python基础知识(0基础入门)python爬虫知识 Python数据分析入门教程…

Android12之仿Codec2.0实现传递编解码器组件本质(四十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android…

多策略改进蜣螂优化--螺旋搜索+最优值引导+反向学习策略

声明:对于作者的原创代码,禁止转售倒卖,违者必究! 关于蜣螂算法的原理网上有很多,本文就不再详细介绍,本期算法是作者在参考了网上一些文献后自行改进的,接下来直接上改进策略: ①螺…

十六)Stable Diffusion教程:出图流程化

今天说一个流程化出图的案例,适用很多方面。 1、得到线稿,自己画或者图生图加线稿lora出线稿;如果想sd出图调整参数不那么频繁细致,则线稿的素描关系、层次、精深要表现出来,表现清楚。 2、文生图,seed随机…

前后端分离毕设项目之springboot同城上门喂遛宠物系统(内含文档+源码+教程)

博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ 🍅由于篇幅限制,想要获取完整文章或者源码,或者代做&am…

Quartz 建表语句SQL文件

SQL文件在jar里面,github下载 https://github.com/quartz-scheduler/quartz/releases/tag/v2.3.2 解压,sql文件路径:quartz-core\src\main\resources\org\quartz\impl\jdbcjobstore tables_mysql_innodb.sql # # In your Quartz propertie…

七天学会C语言-第七天(结构体)

1.定义结构体 例 1&#xff1a;把一个学生的信息(包括学号、姓名、性别、住址等 4 项信息) 放在一个结构体变量中&#xff0c;然后输出这个学生的信息。 #include <stdio.h>struct Student {int student_id;char name[30];char gender;char address[60]; };int main() …

Flink的部署模式:Local模式、Standalone模式、Flink On Yarn模式

Flink常见的部署模式 Flink部署、执行模式Flink的部署模式Flink的执行模式 Local本地模式下载安装启动、停止Flink提交测试任务停止作业 Standalone独立模式会话模式单作业模式应用模式 YARN运行模式会话模式启动Hadoop集群申请一个YARN会话查看Yarn、Flink提交作业查看、测试作…

SQL模板-用户留存率计算

在这段实习中&#xff0c;我遇到了用户留存率计算的需求&#xff0c;这里做个总结。 首先来讲下&#xff0c;什么是用户留存&#xff1f; 在互联网行业中&#xff0c;用户在某段时间内开始使用应用&#xff0c;经过一段时间后&#xff0c;仍然继续使用该应用的用户。用户留存一…

代码随想录二刷day35

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣860. 柠檬水找零二、力扣406. 根据身高重建队列三、力扣452. 用最少数量的箭引爆气球 前言 一、力扣860. 柠檬水找零 class Solution {public boolean…

5.docker可视化工具(Portainer)

本文操作&#xff0c;在 192.168.204.102 机器执行 安装最新版 portainer&#xff0c;请使用 portainer/portainer-ce 镜像。图片来源&#xff1a;https://hub.docker.com/r/portainer/portainer。   来这里可查看最新版本&#xff1a;https://github.com/portainer/p…

设计模式:适配器模式(C++实现)

适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构设计模式&#xff0c;它允许将一个类的接口转换成客户端所期望的另一个接口。适配器模式通常用于连接两个不兼容的接口或类&#xff0c;使它们能够一起工作。 以下是一个简单的C适配器模式的示例&#xff1a; #in…

内网穿透,轻松实现PostgreSQL数据库公网远程连接!

文章目录 前言1. 安装postgreSQL2. 本地连接postgreSQL3. Windows 安装 cpolar4. 配置postgreSQL公网地址5. 公网postgreSQL访问6. 固定连接公网地址7. postgreSQL固定地址连接测试 前言 PostgreSQL是一个功能非常强大的关系型数据库管理系统&#xff08;RDBMS&#xff09;,下…

MongoDB的搭建 和crud操作

MongoDB docker 下载 docker run --restartalways -d --name mongo -v /docker/mongodb/data:/data/db -p 27017:27017 mongo:4.0.6使用navcat工具使用MongoDB Crud操作 jar包 <dependency><groupId>org.projectlombok</groupId><artifactId>lom…

数学经典例题

&#xff08; 1 &#xff09;求 x ( x 1 ) ( x 2 ) ( x 3 ) 的最小值 首先能想到的是&#xff0c;该函数在点 0 、 − 1 、 − 2 、 − 3 时函数值为 0 x ( x 1 ) ( x 2 ) ( x 3 ) 关于 x − 1.5 对称、以及函数在 ( − ∞ , ∞ ) 上的正负性 且容易知道函数图像是 W 形…

【面试经典150 | 双指针】三数之和

文章目录 写在前面Tag题目来源题目解读解题思路方法一&#xff1a;暴力枚举方法二&#xff1a;双指针 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对…

系统架构常用的工具

HBase HBase是一个分布式的、面向列的开源数据库&#xff0c;该技术来源于 Fay Chang 所撰写的Google论文“Bigtable&#xff1a;一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统&#xff08;File System&#xff09;所提供的分布式数据存储一样&#xff…