当前位置: 首页 > news >正文

Go语言中入门Hello World以及IDE介绍

您可以阅读Golang教程第1部分:Go语言介绍与安装 来了解什么是golang以及如何安装golang。

Go语言已经安装好了,当你开始学习Go语言时,编写一个"Hello, World!"程序是一个很好的入门点。

下面将会提供了一些有关IDE和在线编辑器的信息,和如何使用Go语言编写并运行一个简单的"Hello, World!"程序的步骤

IDE

  • GoLand(收费)
  • Visual Studio Code(免费,配合插件 Go - Visual Studio Marketplace)

如需临时测试简单代码也可使用在线编辑器:

  • Better Go Playground
  • Go Playground - The Go Programming Language

Hello World

创建文件

main.go

输入代码
package main import "fmt" func main() {  fmt.Println("Hello World") 
}
  Go 中的约定是将包含该`main`函数的文件命名为`main.go`,但其他名称也可以。
go run
  1. 在终端(或命令提示符)使用以下命令运行程序
 go run main.go
  1. 使用 go Playground运行程序。虽然这有限制,但是当我们想要运行简单的程序时,这种方法会派上用场,因为它使用浏览器并且不需要在本地安装 Go
    单击此处在线运行该程序。
输出
Hello World  
hello world 程序的简短说明

这是我们刚刚编写的 hello world 程序

package main import "fmt" func main() {  fmt.Println("Hello World") 
}

我们将简要讨论该程序的每一行的作用。我们将在接下来的教程中深入探讨该程序的每个部分。

package main - **每个 go 文件都必须以该语句开头package name包用于提供代码划分和可重用性。main**这里使用的是包名 。main 函数应该始终驻留在 main 包中。

import “fmt” - import 语句用于导入其他包。在我们的例子中,fmt包被导入,它将在 main 函数中使用,将文本打印到标准输出。

func main() -func关键字标记函数的开始。这main是一个特殊的函数。程序的执行是从main函数开始的。和{}括号表示 main 函数的开始和结束。

fmt.Println(“Hello World”) -Println该包的函数fmt用于将文本写入标准输出。package.Function()是调用包中函数的语法。
下一个教程 - Go语言变量学习

相关文章:

Go语言中入门Hello World以及IDE介绍

您可以阅读Golang教程第1部分:Go语言介绍与安装 来了解什么是golang以及如何安装golang。 Go语言已经安装好了,当你开始学习Go语言时,编写一个"Hello, World!"程序是一个很好的入门点。 下面将会提供了一些有关IDE和在线编辑器的…...

Java面试题-Java核心基础-第二天(基本语法)

目录 一、注释有几种形式 二、标识符与关键字的区别 三、自增自减运算符 四、移位运算符 五、continue、break、return的区别 一、注释有几种形式 注释除了有其他编程语言有的单行注释和多行注释之外,还有其Java特有的文档注释 文档注释能够使用javadoc命令就…...

Linux 部署 GitLab idea 连接

概述 GitLab 是一个开源的代码管理平台,使用 Git 作为版本控制工具,提供了 Web 界面和多种功能,如 wiki、issue 跟踪、CI/CD 等。 GitLab 可以自托管或使用 SaaS 服务,支持多种操作系统和执行器。 GitLab 可以帮助软件开发团队…...

Java延迟队列——DelayQueue

Java延迟队列——DelayQueue DelayQueue的定义 public class DelayQueue<E extends Delayed> extends AbstractQueue<E> implements BlockingQueue<E>DelayQueue是一个无界的BlockingQueue&#xff0c;是线程安全的&#xff08;无界指的是队列的元素数量不存…...

Vulnhub系列靶机---Raven2

文章目录 Raven2 渗透测试信息收集提权UDF脚本MySQL提权SUID提权 Raven2 渗透测试 信息收集 查看存活主机 arp-scan -l 找到目标主机。 扫描目标主机上的端口、状态、服务类型、版本信息 nmap -A 192.168.160.47目标开放了 22、80、111 端口 访问一下80端口&#xff0c;并…...

设计模式-生成器模式

生成器模式&#xff08;Builder Pattern&#xff09;是一种创建型设计模式&#xff0c;用于构建复杂的对象。这种模式将构造代码和表示代码分离开来&#xff0c;使得同样的构造过程可以创建不同的表示。 以下是一个简单的Java实现&#xff1a; // 产品 class Product …...

Nginx正向代理配置(http)

前言 在工作中我们经常使用nginx进行反向代理,今天介绍下怎么进行正向代理,支持http请求,暂不支持https 首先先介绍下正向代理和反向代理。 正向代理 在客户端&#xff08;浏览器&#xff09;配置代理服务器&#xff0c;通过代理服务器进行互联网访问。 反向代理 客户端只…...

ARMv5架构对齐访问异常问题

strh非对齐访问 在ARMv5架构中&#xff0c;对于strh指令&#xff08;Store Halfword&#xff09;&#xff0c;通常是要求对地址进行对齐访问的。ARMv5架构对于半字&#xff08;Halfword&#xff09;的存储操作有对齐要求&#xff0c;即地址必须是2的倍数。 如果尝试使用strh指…...

Go中varint压缩编码原理分析

文章目录 编码介绍无符号整数较小的值较大的值Go中的实现编码PutUvarint解码Uvarint 有符号整数较小的值(指绝对值)较大的负数(只绝对值)Go中的实现编码PutVarint解码Varint 总结 编码介绍 varint是一种将整数编码为变长字节的压缩编码算法&#xff0c;本篇文章就是分析该编码…...

在IDEA中如何用可视化界面操作数据库? 在idea中如何操作数据库? 在idea中如何像Navicat一样操作数据库?

1、找到database&#xff0c;创建连接 我用了中文包&#xff0c;英文状态下和我的操作完全一样 英文下第二列数据库名称为 database 2、配置相关属性&#xff0c;如IP地址&#xff0c;密码等 3、选择对应的库名&#xff0c;此处也叫架构 4、然后就可以进行愉快的操作了...

数据库安全-RedisHadoopMysql未授权访问RCE

目录 数据库安全-&Redis&Hadoop&Mysql&未授权访问&RCE定义漏洞复现Mysql-CVE-2012-2122 漏洞Hadoop-配置不当未授权三重奏&RCE 漏洞 Redis-未授权访问-Webshell&任务&密匙&RCE 等漏洞定义&#xff1a;漏洞成因漏洞危害漏洞复现Redis-未授权…...

辅助驾驶功能开发-功能规范篇(27)-3-导航式巡航辅助NCA华为

书接上回 2.2.2.3.7控制模块 控制模块由横向控制和纵向控制组成。根据横、纵向规划给出的行驶轨迹和给定速度,进行车辆的纵横向控制,输出方向盘转角、加速度或制动踏板开度和档位信息,必要条件下输出车灯信号等。 2.2.2.4 行为仲裁模块 纵向状态: 当纵向位于Off/Standby…...

探索UI设计|栅格系统的深入分析和应用

界面排版太乱了。你知道网格系统的用途吗&#xff1f;网格系统困扰着许多初级网页设计师&#xff0c;就像一个谜。如果您对网格在设计中的应用有任何疑问&#xff0c;本文是为您量身定制的&#xff0c;并深入分析UI设计中网格系统的基本要素和优点。 什么是网格系统 网格系统…...

AI 律助 Alpha GPT 线上实操发布会,重磅发布!

数字化时代,随着人工智能的迅猛发展,各行各业都在积极探索通过智能化工具实现工作效率翻升的可能性。“ ChatGPT 类产品”是未来办公应用软件发展的重要趋势之一,但如何将 ChatGPT 真正应用于法律人的工作,赋能效率提升?法律行业同样面临着新的挑战和机遇。 破局的关键是实现技…...

【漏洞复现】安全云平台存在任意文件下载getshell

漏洞描述 深圳市强鸿电子有限公司鸿运主动安全云平台存在任意文件下载漏洞,攻击者可通过此漏洞下载敏感文件信息。 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权…...

【JUC】原子操作类及LongAddr源码分析

文章目录 1. 十八罗汉2. 原子类再分类2.1 基本类型原子类2.2 数组类型原子类2.3 引用类型原子类2.4 对象的属性修改原子类2.5 原子操作增强类 3. 代码演示及性能比较&#xff1a;4. LongAddr原理5. LongAddr源码分析5.1 add()5.2 longAccumulate()5.3 sum() 6. 小总结6.1 Atomi…...

203、RabbitMQ 之 使用 direct 类型的 Exchange 实现 消息路由 (RoutingKey)

目录 ★ 使用direct实现消息路由代码演示这个情况二ConstantUtil 常量工具类ConnectionUtil 连接RabbitMQ的工具类Publisher 消息生产者测试消息生产者 Consumer01 消息消费者01测试消费者结果&#xff1a; Consumer02 消息消费者02测试消费者结果&#xff1a; 完整代码&#x…...

微服务+Java+Spring Cloud +UniApp +MySql智慧工地综合管理云平台源码,SaaS模式

智慧工地围绕工程现场人、机、料、法、环及施工过程中质量、安全、进度、成本等各项数据满足工地多角色、多视角的有效监管,实现工程建设管理的降本增效. 智慧工地综合管理云平台源码&#xff0c;PC监管端、项目端&#xff1b;APP监管端、项目端、数据可视化大屏端源码&#xf…...

QMidi Pro for Mac:打造您的专属卡拉OK体验

你是否曾经厌倦于在KTV里与朋友们争夺麦克风&#xff1f;是否想要在家中享受自定义的卡拉OK体验&#xff1f;现在&#xff0c;有了QMidi Pro for Mac&#xff0c;一切变得简单而愉快&#xff01; QMidi Pro是一款功能强大的卡拉OK播放器&#xff0c;专为Mac用户设计。它充分利…...

bindtap和catchtap的区别?

bindtap和catchtap都是小程序中用于绑定点击事件的方法。 1.bindtap的作用是绑定一个触摸事件并指定对应的处理函数。当用户点击或触摸相关元素时&#xff0c;会触发该事件&#xff0c;并执行相应的处理逻辑。 示例&#xff1a; <button bindtap"handleTap">…...

手把手教你学Simulink--电动物流车预充电路控制及主继电器粘连检测电机负载仿真

目录 手把手教你学Simulink--电动物流车预充电路控制及主继电器粘连检测电机负载仿真 摘要 Abstract 1. 引言 1.1 电动物流车发展背景 1.2 研究目的与意义 1.3 研究方法与内容 2. 文献综述 2.1 电动物流车预充电路研究现状 2.2 主继电器粘连检测技术进展 2.3 Simulin…...

【技术解析】VadCLIP:如何让视觉语言模型“看懂”视频异常?

1. VadCLIP是什么&#xff1f;为什么视频异常检测需要它&#xff1f; 想象一下你正在监控室盯着几十块屏幕&#xff0c;突然有个画面闪过一个可疑行为——可能是打架、偷窃或者交通事故。传统监控系统要么依赖人工盯屏&#xff08;容易疲劳漏检&#xff09;&#xff0c;要么使用…...

ZYNQ AXI DMA Scatter/Gather模式实战:从PL到PS的高效数据流构建与FreeRTOS任务调度

1. 理解AXI DMA Scatter/Gather模式的核心价值 在ZYNQ平台上构建高效数据流系统时&#xff0c;AXI DMA的Scatter/Gather模式&#xff08;简称SG模式&#xff09;绝对是硬件加速的利器。我第一次接触这个功能时&#xff0c;发现它完美解决了传统DMA传输中的两大痛点&#xff1a;…...

200块搞定AI视觉项目:手把手教你用Canmv K210训练识别模型(附完整代码)

200元打造AI视觉神器&#xff1a;Canmv K210从模型训练到落地实战指南 在AI技术快速普及的今天&#xff0c;动辄数千元的开发套件让许多创客和学生望而却步。Canmv K210开发板的出现彻底改变了这一局面——仅需200元预算&#xff0c;就能搭建完整的AI视觉识别系统。本文将带你从…...

【RT-DETR实战】044、Task-Aligned Assigner 原理与适配:从标签分配混乱到检测精度提升 2.3% 的实战记录

问题现场:为什么加了更好的 Backbone,mAP 反而掉了? 上周在部署 RT-DETR 的轻量化版本时遇到了一个典型问题:我把原来的 CSPDarkNet 换成了更轻、计算量更小的 GhostNet,理论上应该保持精度或微跌,但实际训练时验证集 mAP 掉了 1.5%。 排查了一圈数据增强、学习率、梯度…...

终极指南:5步快速掌握Aimmy免费AI瞄准辅助工具

终极指南&#xff1a;5步快速掌握Aimmy免费AI瞄准辅助工具 【免费下载链接】Aimmy Universal Second Eye for Gamers with Impairments (Universal AI Aim Aligner (AI Aimbot) - ONNX/YOLOv8 - C#) 项目地址: https://gitcode.com/gh_mirrors/ai/Aimmy 还在为游戏中的瞄…...

Canvas游戏开发实战:从零实现鼠标交互与碰撞检测的趣味拉面游戏

1. 项目概述&#xff1a;一个用光标“吃”拉面的趣味小游戏最近在GitHub上看到一个挺有意思的开源小项目&#xff0c;叫fishyramen/cursorball。光看名字&#xff0c;可能有点摸不着头脑——“鱼味拉面/光标球”&#xff1f;其实&#xff0c;这是一个用你电脑上的鼠标光标来玩的…...

团队协作福音:如何用EasyYapi插件统一SpringBoot项目的接口文档风格?

团队协作福音&#xff1a;如何用EasyYapi插件统一SpringBoot项目的接口文档风格&#xff1f; 在微服务架构盛行的今天&#xff0c;一个SpringBoot项目往往由多个团队协作开发。当接口数量突破三位数时&#xff0c;文档风格不统一、字段说明缺失等问题会让协作效率直线下降。上周…...

Ix开源平台:基于Kubernetes的私有云与家庭实验室一体化管理方案

1. 项目概述与核心价值最近在折腾一个叫Ix的开源项目&#xff0c;它来自ix-infrastructure这个组织。乍一看这个名字&#xff0c;你可能觉得有点抽象&#xff0c;但如果你对自托管、家庭实验室、私有云或者想找一个更现代、更易用的 TrueNAS 替代品感兴趣&#xff0c;那这个项目…...

mnestra:基于ESBuild的极简前端构建工具,速度与体验的完美平衡

1. 项目概述&#xff1a;一个被低估的现代前端构建工具如果你在前端开发领域摸爬滚打超过五年&#xff0c;大概率经历过从 Grunt、Gulp 到 Webpack 的构建工具变迁史。每次工具的迭代&#xff0c;都伴随着配置文件的日益复杂和构建速度的微妙下降。当 Vite 携 ES Module 原生支…...