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

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

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

例子

package main

import "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 comment
fmt.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 World
to 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,关注后即可获取最新文章推送

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

Go 语言基础:包、函数、语句和注释解析的更多相关文章

  1. Java之--Java语言基础组成—函数

    Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...

  2. Go语言基础之函数

    Go语言基础之函数 函数是组织好的.可重复使用的.用于执行指定任务的代码块.本文介绍了Go语言中函数的相关内容. 函数 Go语言中支持函数.匿名函数和闭包,并且函数在Go语言中属于“一等公民”. 函数 ...

  3. GO学习-(12) Go语言基础之函数

    Go语言基础之函数 函数是组织好的.可重复使用的.用于执行指定任务的代码块.本文介绍了Go语言中函数的相关内容. 函数 Go语言中支持函数.匿名函数和闭包,并且函数在Go语言中属于"一等公民 ...

  4. [06 Go语言基础-包]

    [06 Go语言基础-包] 包 什么是包,为什么使用包? 到目前为止,我们看到的 Go 程序都只有一个文件,文件里包含一个 main 函数和几个其他的函数.在实际中,这种把所有源代码编写在一个文件的方 ...

  5. 第二十一节:Java语言基础-关键字,标识符,注释,常量和变量,运算符

    Java语言基础-关键字,标识符,注解,常量和变量,运算符 class Demo { public static void main(String[] args){ System.out.printl ...

  6. Go语言基础包之net/http

    Go语言基础包之net/http Go语言内置的net/http包十分的优秀,提供了HTTP客户端和服务端的实现. net/http介绍 Go语言内置的net/http包提供了HTTP客户端和服务端的 ...

  7. Java 语言基础之函数

    函数的定义: 函数就是定义在类中的具有特定功能的一段独立小程序 函数也称为方法 函数定义格式: 修饰符 返回值类型 函数名(参数类型 形式参数1, 参数类型 形式参数2,...) { 执行语句; re ...

  8. DirectX基础 常用函数语句

    DirectX常用函数语句 常用数学类函数: 计算向量的长度(模): FLOAT D3DXVec3Length(CONST D3DXVECTOR3* pV); 向量的规范化: D3DXVECTOR3 ...

  9. Go 语言官方包函数中文翻译

    Go官方包函数中文翻译 *** import "strings" func Join(a []string, sep string) string Join concatenate ...

  10. iOS开发环境C语言基础 数组 函数

    1 求数组元素的最大值 1.1 问题 创建程序,实现查询数组中最大值的功能,需求为:创建一个长度为10的数组,数组内放置10个0~99之间(包含0,包含99)的随机数作为数组内容,要求查询出数组中的最 ...

随机推荐

  1. Flutter学习

    常用网址 免费下载 !<AliFlutter 体系化建设和实践> Flutter 开发文档 Flutter实战 Dart 编程语言概览 pub仓库 main函数使用了(=>)符号, ...

  2. springboot-@Async默认线程池导致OOM问题

    目录 内存溢出的三种类型: 初步分析: 代码分析: 最终解决办法: 内存溢出的三种类型: 第一种OutOfMemoryError: PermGen space,发生这种问题的原意是程序中使用了大量的j ...

  3. 【Azure 存储服务】如何查看Storage Account的删除记录,有没有接口可以下载近1天删除的Blob文件信息呢?

    问题描述 如何查看Storage Account的删除记录,有没有接口可以下载近1天删除的Blob文件信息呢?因为有时候出现误操作删除了某些Blob文件,想通过查看删除日志来定位被删除的文件信息. 问 ...

  4. STL-priority_queue模拟实现

    #include<deque> //测试用 #include<vector>//测试用 #include"9Date.h"//测试用 #include< ...

  5. 文心一言 VS 讯飞星火 VS chatgpt (208)-- 算法导论15.4 5题

    五.设计一个 O($n^2$) 时间的算法,求一个 n 个数的序列的最长单调递增子序列.要写代码的时候,请用go语言. 文心一言,抛panic: 在 Go 语言中设计一个 O(n^2) 时间复杂度的算 ...

  6. Metasploitable3 渗透测试

    1.信息手机阶段 信息收集经常使用的软件 功能也比较强大的Nmap Nmap nmap -p- -sS -sV -n -v --reason --open -oX demon.xml 192.168. ...

  7. mybatis批量插入的四种方式

    一.循环插入 public void insert(List<User> userList) { userList.forEach(user -> userDao.insert(us ...

  8. 基于DSP的设备振动信号的采集和处理模块研发总结

    前记  在能源领域,由于很多地方都是无人值守,设备故障检测是一个必须面对的问题.笔者通过最近几个行业案例了解到,由于很多设备发生故障时候会产生特定频谱的声音,所以该行业对振动监测的需求特别强烈,由于涉 ...

  9. opus编解码的特色和优点

    概念原理   Opus是一个有损音频压缩的数字音频编码格式,由Xiph.Org基金会开发,之后由互联网工程任务组(IETF)进行标准化,目标是希望用单一格式包含声音和语音,取代Speex和Vorbis ...

  10. Spring Boot学习日记8

    学习了yaml文件的配置 <server> <port>8081<port> </server> # k-v键值对 name: xiaoqi #相当于n ...