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

小万哥
• 阅读 377

一个 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,关注后即可获取最新文章推送

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

点赞
收藏
评论区
推荐文章
九路 九路
3年前
go语言 init 函数的妙用
从程序逻辑结构角度来看,Go包(package)是程序逻辑封装的基本单元,每个包都可以理解为一个”自治“的、封装良好的、对外部暴露有限接口的基本单元。一个Go程序就是由一组包组成的。在Go包这一基本单元中分布着常量、包级变量、函数、类型和类型方法、接口等,我们要保证包内部的这些元素在被使用之前处于合理有效的初始状态,尤其是包级变量。在Go语言中
Souleigh ✨ Souleigh ✨
4年前
【C 陷阱与缺陷】(二)语法陷阱
0.理解函数声明请思考下面语句的含义:((void()())0)()前面我们说过C语言的声明包含两个部分:类型和类似表达式的声明符。最简单的声明符就是单个变量:floatf,g;由于声明符和表达式的相似,我们可以在声明符中任意使用括号:float((f));这个声明的含义是:当对f求值时,(
Wesley13 Wesley13
3年前
go程序执行顺序(转)
在一个go程序中通常包含:包、常量、变量、init()、main()等元素,如果同时存在多个包,包之间存在依赖关系,每个包中存在多个init函数,每个文件中存在多个init函数,那么问题来了,他们之间的执行顺序是什么样的?通过本文我们来对它们之间的执行顺序做尽可能详尽的说明。如有不正之处,欢迎批评指正。包的执行顺序在ma
Stella981 Stella981
3年前
GO标准库flag
Go语言内置的flag包实现了命令行参数的解析。os.Argsos.Args是一个\\string类型。获取命令参数示例:funcmain(){iflen(os.Args)0{forindex,args:rangeos.Args{
Stella981 Stella981
3年前
Golang- import 导入包的语法
一包的导入语法   在写Go代码的时候经常用到import这个命令用来导入包文件,看到的方式参考如下:   import(     "fmt"   )  然后在代码里面可以通过如下的方式调用   fmt.Println("helloworld")    上面这个fmt是Go语言的
Wesley13 Wesley13
3年前
Go 包的原理和使用
Go包的原理和使用包的引出在实际的开发中,我们往往需要在不同的文件中,去调用其它文件的定义的函数,比如main.go中,去使用utils.go文件中的函数,如何实现?包现在有两个程序员共同开发一个Go项目。程序员xiaoming希望定义函数Cal
Stella981 Stella981
3年前
Go语言fmt.Printf使用指南
Go语言fmt.Printf使用指南fmt标准库是我们在学习Go语言过程中接触最早最频繁的一个了,本文介绍了fmtb包的一些常用函数。fmtfmt包实现了类似C语言printf和scanf的格式化I/O。主要分为向外输出内容和获取输入内容两大部分。向外输出标准库fmt提供了以下几
Wesley13 Wesley13
3年前
go 学习笔记之10 分钟简要理解 go 语言闭包技术
闭包是主流编程语言中的一种通用技术,常常和函数式编程进行强强联合,本文主要是介绍Go语言中什么是闭包以及怎么理解闭包.如果读者对于Go语言的闭包还不是特别清楚的话,可以参考上一篇文章go学习笔记之仅仅需要一个示例就能讲清楚什么闭包(https://www.oschina.net/ac
小万哥 小万哥
1年前
Go 语法
一个Go文件包含以下几个部分:包声明导入包函数语句和表达式看下面的代码,更好地理解它:例子Gopackagemainimport"fmt"funcmain()fmt.Println("HelloWorld!")例子解释第1行:在Go中,每个程序都是一个包的
小万哥 小万哥
12个月前
Go 语言学习指南:变量、循环、函数、数据类型、Web 框架等全面解析
学习基础知识掌握Go语言的常见概念,如变量、循环、条件语句、函数、数据类型等等。深入了解Go基础知识的好起点是查阅Go官方文档文章链接:基本语法了解Go语言的基本语法,包括Go程序的执行方式、包引入、主函数等Go中的变量变量是赋予内存位置的名称,用于存储特