目录

文章目录

  • 目录
  • Hello World
  • 程序结构
    • 包声明
    • 导入包
    • 函数
    • 标识符
    • 关键字
    • 语句
    • 表达式
    • 注释

Hello World

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

使用 go run 指令执行程序:

$ go run hello.go

使用 go build 指令生成二进制:

$ go build hello.go $ ll
total 4256
-rwxr-xr-x  1 mickeyfan  staff   2.1M  7  5 11:08 hello
-rw-r--r--  1 mickeyfan  staff    76B  7  5 11:08 hello.go$ ./hello

程序结构

Go 程序的基本组成部分,包括:

  • 包声明
  • 导入包
  • 函数
  • 变量
  • 表达式
  • 语句
  • 注释

包声明

必须在源文件中非注释的第一行指明这个文件属于哪个包,使用 package 关键字,如:package main,表示一个可独立执行的 main 程序,每个 Go 应用程序都包含一个名为 main 的包。

注意

  • 文件名与包名没有直接关系,并非需要一致。
  • 文件夹名与包名没有直接关系,并非需要一致。
  • 同一个文件夹下的文件只能有一个包名,否则编译报错。

导入包

使用 package 关键字定义的包,可以被其他包导入,使用 import 关键字。例如:import “fmt”,表示告诉 Go 编译器当前这个 main 包需要使用到 fmt 包中的函数,或其他元素。fmt 包实现了格式化 IO(输入/输出)的函数。

函数

使用 func 关键字来修饰一个函数的定义,例如:func main(),main 函数是每一个可执行程序所必须包含的,作为程序的入口。但 Golang 还定义了 init() 初始化函数的概念,若存在则最优先执行。

标识符

常量名、变量名、类型、函数名、结构体名称都统称之为标识符。Golang 标识符由 A-Z、a-z、0-9、_(下划线)任意组成,但第一个字符必须是字母或下划线而不能是数字。

当标识符以一个大写字母开头,如:Group1,表示其可以被外部包导入并使用,相对于当前包而言,这被称为导出。当标识符以小写字母开头,如:group1,则对外部包是不可见的,仅在当前包内部可见。

关键字

语句

一行代表一个语句结束。每个语句间不需要行间隔符 “;”,这些工作将由 Go 编译器自动完成。如果你希望将多个语句写在同一行,它们则必须使用 “;” 人为区分,但在实际开发中并不鼓励这种做法。

表达式

表达式通常由标识符和运算符组成,与语句的本质区别的与:表达是一定有返回值,而语句不一定。

注释

Golang 的注释和 C 语言一般:

  • 单行注释://
  • 块(多行)注释:/**/

Go 语言编程 — 程序结构相关推荐

  1. c语言程序设计顺序结构题目,C语言编程 顺序结构编程练习题目

    C语言顺序结构编程练习题目 C语言编程 顺序结构题目 题目1计算摄氏温度 输入一个华氏温度,要求输出摄氏温度.公式为:C=5/9(F-32),输出要有文字说明,取2位小数. 式中:C表示摄氏温度,F表 ...

  2. C语言中rvfsu是什么意思,C语言第4讲-C语言编程三结构.ppt

    C语言第4讲-C语言编程三结构 C 语句可以分为5类: 1.控制语句----9种 2.函数调用语句 3.表达式语句 4.空语句---什么也不做 5.复合语句----用{}括起来 复合语句:用 {-}括 ...

  3. C 语言编程 — 程序的装载与运行

    目录 文章目录 目录 文章目录 C 程序在操作系统中的装载与运行 ELF 文件 反汇编 ELF 文件 文章目录 <C 语言编程 - GCC 工具链> <C 语言编程 - 程序的编译流 ...

  4. C 语言编程 — 程序的编译流程

    目录 文章目录 目录 文章目录 C 程序的编译流程 预处理 编译 汇编 链接 编译多个源文件 文章目录 <C 语言编程 - GCC 工具链> <C 语言编程 - 程序的编译流程> ...

  5. C语言编程题—结构体—设计程序,已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数 fun:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分

    4 C语言编程题--结构体 **设计程序,已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中.请编写函数 fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有 ...

  6. Java之J2se-Java语言基础(程序结构) 教学视频发布了,请小伙伴们前往观看

    Java之J2se-Java语言基础(程序结构) 教学视频发布了,请小伙伴们前往观看 视频地址如下: http://v.youku.com/v_show/id_XODA5NTM3NTAw.html

  7. 单片机c语言程序结构,科学网—单片机C语言-程序结构 - 李飞的博文

    单片机C语言-程序结构 已有 651 次阅读 2011-3-30 22:29 |系统分类:科研笔记 先来复杂说说C言语的标识符和关键字. 标识符是用来标识源程序中某个对象的名字的, 可以写做" ...

  8. 【C语言】程序结构、基本语法、数据类型

    C语言专栏 一.C语言程序结构 1.C语言 Hello World 实例 2.编译 & 执行 C 程序 二.C语言基本语法 1.C的令牌(Token) 2.分号: 3.注释 4.标识符 5.关 ...

  9. 四则运算c语言编程分支结构,C语言之分支结构(二)

    原标题:C语言之分支结构(二) 大家好!今天我们来学习if语句的嵌套结构, if语句的嵌套是指在if或者else的分支下有包括了另一个if语句或者是if-else语句,if语句的嵌套位置是灵活的,嵌套 ...

最新文章

  1. sqlite导入 mysql_Sqlite向MySql导入数据
  2. 一般关于大宗商品的供需关系相关的数据网址有哪些?
  3. 电路交换网络中,每条电路独占其经过的物理链路。
  4. php数组第二位,PHP将二位数组按照第二维的某个元素的值进行排序
  5. 我的所想——短暂的北漂
  6. 20.HTTP-NG
  7. HRBEU 字符串 1003
  8. 《算法笔记》胡凡 配套刷题网站
  9. 快速安装rubyinstaller-devkit
  10. 怎么批量修改pdf文件名
  11. YIQ、YUV、YCrCb 与 RGB关系
  12. 使照片带有妙的电影色彩55款工具套件的lr微妙的电影调色预设
  13. PHP 工具 格式化
  14. 2023最新软件工程毕业设计题目汇总
  15. 初始化mysql报错
  16. 华为OD机试用Python实现 -【字母组合】(2023-Q1 新题)
  17. “春城”昆明郁金香盛开 万紫千红引游人
  18. Codeforce题解:Shurikens
  19. 半波对称振子方向图_求一个半波对称振子天线的CST仿真
  20. 【推荐系统学习】推荐系统架构

热门文章

  1. Wireshark网络分析实例集锦(大学霸内部资料)
  2. java arraylist comparable_Java 两种ArrayList集合自定义对象属性排序,Comparator接口 或 Comparable接口...
  3. 调试内存_C/C++程序调试和内存检测
  4. 标记三维点_三维扫描仪对汽车钣金外形检测折弯件钣金件热成型加工件的应用...
  5. python判断两个值是否相等_Python--比较两个字典部分value是否相等
  6. 脑电分析系列 | MNE-Python汇总
  7. 从脑电图(EEG)中提取稳定的模式进行识别
  8. VR教育进入新加坡课堂
  9. 广州新房都智能成这样了???
  10. MAXIEYE创始人周圣砚:以规模化迎接智能驾驶科技平权时代 | MEET2022