Go语言基础:包、函数、语句和注释解析

一个 Go 文件包含以下几个部分:

  • 包声明
  • 导入包
  • 函数
  • 语句和表达式

看下面的代码,更好地理解它:

例子

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

例子解释

第 1 行: 在 Go 中,每个程序都是一个包的一部分。我们使用 package 关键字来定义它。在这个例子中,程序属于 main 包。

第 2 行: import ("fmt") 让我们导入包中的文件,包名为 fmt

第 3 行: 一个空行。Go 忽略空格。在代码中有空格会使它更易读。

第 4 行: func main() {} 是一个函数。任何在花括号 {} 内的代码都将被执行。

第 5 行: fmt.Println() 是从 fmt 包中提供的函数。它用于输出/打印文本。在我们的例子中,它将输出 “Hello World!”。

注意: 在 Go 中,任何可执行代码都属于 main 包。

Go 语句

fmt.Println("Hello World!") 是一个语句。

在 Go 中,语句是通过换行(按下回车键)或分号 ";" 分隔的。

按下回车键会在行末自动添加 ";"(不会显示在源代码中)。

左花括号 { 不能出现在行首。

注释

注释是在执行时被忽略的文本。

注释可用于解释代码,使其更易读。

注释还可用于在测试替代代码时防止代码执行。

Go支持单行或多行注释。

Go单行注释

单行注释以两个正斜杠(//)开头。

//和行尾之间的任何文本都将被编译器忽略(不会被执行)。

示例

// This is a comment
package main
import ("fmt")func main() {// This is a commentfmt.Println("Hello World!")
}

以下示例在代码行末使用单行注释:

示例

package main
import ("fmt")func main() {fmt.Println("Hello World!") // This is a comment
}

Go多行注释

多行注释以/*开头,以*/结尾。

/**/之间的任何文本都将被编译器忽略:

示例

package main
import ("fmt")func main() {/* The code below will print Hello Worldto the screen, and it is amazing */fmt.Println("Hello World!")
}

提示: 使用哪种注释取决于您。通常,我们使用//进行短注释,使用/* */进行长注释。

用注释防止代码执行

您还可以使用注释防止代码被执行。

注释的代码可以保存以供以后参考和故障排除。

示例

package main
import ("fmt")func main() {fmt.Println("Hello World!")// fmt.Println("This line does not execute")
}

最后

为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。

看完如果觉得有帮助,欢迎点赞、收藏关注

在这里插入图片描述

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

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

相关文章

基于SSM的仓库管理系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

15个超级实用的Python操作,肯定有你意想不到的!

文章目录 1)映射代理(不可变字典)2)dict 对于类和对象是不同的3) any() 和 all()4) divmod()5) 使用格式化字符串轻松检查变量6) 我们可以将浮点数转换为比率7) 用globals()和locals()显示现有的全局/本地变量8) import() 函数9) …

【LeetCode刷题】--90.子集II

90.子集II class Solution {public List<List<Integer>> subsetsWithDup(int[] nums) {List<List<Integer>> ans new ArrayList<>();List<Integer> list new ArrayList<>();//排序后便于去重Arrays.sort(nums);dfs(0,nums,ans,lis…

fastReID论文总结

fastReID论文总结 fastReIDReID所面临的挑战提出的背景概念&#xff1a;所谓ReID就是从视频中找出感兴趣的物体&#xff08;人脸、人体、车辆等&#xff09;应用场景&#xff1a;存在的问题&#xff1a;当前的很多ReID任务可复用性差&#xff0c;无法快速落地使用解决方式&…

基于SpringBoot实现的教务查询系统

一、系统架构 前端&#xff1a;html | js | css | jquery | bootstrap 后端&#xff1a;springboot | springdata-jpa 环境&#xff1a;jdk1.7 | mysql | maven 二、代码及数据库 三、功能介绍 01. 登录页 02. 管理员端-课程管理 03. 管理员端-学生管理 04. 管理员端-教师管理…

史上最全接单平台集锦,程序员不容错过!

非典型程序员不是每天都累成狗&#xff0c;天天”996"甚至”007“。可能&#xff0c;面临着上班摸鱼没事干&#xff0c;下班躺尸打游戏的无聊境况。那么&#xff0c;如果你也是这样的程序员&#xff0c;有没有什么安排可以打发时间&#xff1f; 闲着还不如挣钱~心情好的时…

【QML】qml+gstreamer显示的同时录像,避免卡顿

1. 问题 使用QML的CameravideoRecorder(Camera)VideoOutput实现显示加录像功能。在Ubuntu上运行正常&#xff0c;视频流畅。但是在开发板上&#xff08;RK3568&#xff09;上出现明显卡顿&#xff0c;无法正常录像。 2. 解决方案 将摄像头数据通过gstreamer共享内存到某个位…

cddd 安装指南(pip install cddd)

pip install cddd 这个命令可能会报错&#xff0c;因为要求是TensorFlow1.10.0 TensorFlow1.10.0对应的Python版本是3.6&#xff0c;所以如果你的Python版本是3.6以上是不行的.....

OpenCV实现手势音量控制

前言&#xff1a; Hello大家好&#xff0c;我是Dream。 今天来学习一下如何使用OpenCV实现手势音量控制&#xff0c;欢迎大家一起前来探讨学习~ 一、需要的库及功能介绍 本次实验需要使用OpenCV和mediapipe库进行手势识别&#xff0c;并利用手势距离控制电脑音量。 导入库&am…

Python内置函数与标准库函数的详细解读

一、内置函数与标准库函数的区分 Python 解释器自带的函数叫做内置函数&#xff0c;这些函数可以直接使用&#xff0c;不需要导入某个模块。 Python 解释器也是一个程序&#xff0c;它给用户提供了一些常用功能&#xff0c;并给它们起了独一无二的名字&#xff0c;这些常用功能…

C++初阶 | [五] 内存管理

摘要&#xff1a;new and delete&#xff0c;定位new&#xff0c;&#xff08;C内存管理的方式&#xff09;&#xff0c;malloc/free和new/delete的区别&#xff0c;内存泄漏 关于内存&#xff1a; 栈又叫堆栈——非静态局部变量/函数参数/返回值等等&#xff0c;栈是向下增长…

华为OD机试 - 园区参观路径(Java JS Python C)

题目描述 园区某部门举办了Family Day,邀请员工及其家属参加; 将公司园区视为一个矩形,起始园区设置在左上角,终点园区设置在右下角; 家属参观园区时,只能向右和向下园区前进,求从起始园区到终点园区会有多少条不同的参观路径。 输入描述 第一行为园区的长和宽; 后…

Linux详解——安装JDK

目录 一、下载jdk 二、tar包安装 三、rpm包安装 一、下载jdk 1.下载jdk https://www.oracle.com/technetwork/java/javase/downloads/index.html 2.通过CRT|WinSCP工具将jdk上传到linux系统中 二、tar包安装 # 1.将JDK解压缩到指定目录 tar -zxvf jdk-8u171-linux…

FreeRTOS学习之路,以STM32F103C8T6为实验MCU(2-12:内存管理)

学习之路主要为FreeRTOS操作系统在STM32F103&#xff08;STM32F103C8T6&#xff09;上的运用&#xff0c;采用的是标准库编程的方式&#xff0c;使用的IDE为KEIL5。 注意&#xff01;&#xff01;&#xff01;本学习之路可以通过购买STM32最小系统板以及部分配件的方式进行学习…

MyBatis使用教程详解<下>

回顾上一篇博文,我们讲了如何使用注解/XML的方式来操作数据库,实际上,一个Mapper接口的实现,这两种方式是可以并存的. 上一篇博文中,我们演示的都是比较简单的SQL语句,没有设计到复杂的逻辑,本篇博文会讲解复杂SQL的实现及一些细节处理.话不多说,让我们开始吧. 一. #{}和${} …

CLion安装与配置教程

目录 一、下载并安装CLion1、下载1、官网&#xff1a;2、注意&#xff1a; 2、安装1、下载完成后&#xff0c;直接点击安装包安装&#xff0c;即可。2、开始安装&#xff0c;然后下一步3、可以在此处自定义地址&#xff0c;然后下一步4、根据系统版本选择&#xff0c;然后下一步…

智慧工地信息化管理系统源码带APP

需求痛点&#xff1a;建筑行业是一个安全事故多发的行业。目前&#xff0c;工程建设规模不断扩大&#xff0c;工艺流程纷繁复杂&#xff0c;如何搞好现场施工现场管理&#xff0c;控制事故发生频率&#xff0c;一直是施工企业、政府管理部门关注的焦点。利用现代科技&#xff0…

[Python程序打包: 使用PyInstaller制作单文件exe以及打包GUI程序详解]

文章目录 概要Python 程序打包—使用 Pyinstaller 打包 exePython程序打包—使用Pyinstaller打包GUI程序Python程序打包—使用 Pyinstaller 设置 exe 图标小结 概要 使用PyInstaller工具将Python程序打包成可执行&#xff08;EXE&#xff09;文件。将Python程序打包成EXE的好处…

【产品设计】SaaS产品数据分析之指标与标签

数据分析能够应用到各个领域和岗位&#xff0c;那么在SaaS产品中的应用会是如何&#xff1f;本文将探索SaaS产品在数据分析中的应用&#xff0c;并对其指标与标签的设计进行总结分析&#xff0c;一起来看看吧。 数据分析是业务开展过程中&#xff0c;收集记录各种行为产生的数据…

Linux 进程(二)

1.当前工作目录 Linux 下使用 ls /proc 查看程序中的进程&#xff0c;其中这些蓝色的数字代表的就是进程。 其中cwd(current working directory)就是当前工作目录&#xff0c;那么为什么cwd 和 exe 是在同一级目录下呢因为 进程需要依赖可执行程序&#xff0c;可执行程序需要依…