这是我参与「第五届青训营」笔记创作活动的第2天
Go 语言的基础组成有以下几个部分:
包声明
引入包
函数
变量
语句 & 表达式
注释
学习一门语言,首先肯定是要能够阅读代码,接下来让我们来看下简单的代码,该代码输出了"Hello World!"
//先打个注释
package main
//package中有一个或多个.go的源文件组成,每个go程序都以一条package开始 表示该文件属于哪个包
//main包比较特殊。它定义了一个独立可执行的程序,而不是一个库。在main里的main 函数 也很特殊,它是整个程序执行时的入口(译注:C系语言差不多都这样)。main函数所做的事情就是程序做的。当然了,main函数一般调用其它包里的函数完成很多工作(如:fmt.Println)。
import "fmt"
//导入 fmt包含有格式化输出、接收输入的函数
//必须告诉编译器源文件需要哪些包,这就是跟随在package声明后面的import声明扮演的角色。hello world例子只用到了一个包,大多数程序需要导入多个包。
func main() {
fmt.Println("hello World")
//Println是其中一个基础函数,可以打印以空格间隔的一个或多个值,并在最后添加一个换行符,从而输出一整行。
}
//当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Group1,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public);标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 protected )。
//Go语言不需要在语句或者声明的末尾添加分号,除非一行上有多条语句。实际上,编译器会主动把特定符号后的换行符转换为分号,因此换行符添加的位置会影响Go代码的正确解析,需要注意的是 { 不能单独放在一行。(省流助手:go的代码格式参照python,如果毒瘤缩行就成写c,编译器会自动转换格式)
总而言之,言而总之,我在这短短的几行代码中看到了c++(main函数,//注释)、py(import)、java(func)、js(var)等多种语言(bushi),并且根据在vscode中的配置流程,我有理由怀疑这个语言的定位就是在c++和python中间(ps:java和js没学过,但是印象中有这个形式)
上述这段代码,我们实现了输出,但是,大部分的程序都是输入,运算,输出,因此,如何获取并处理数据肯定也是代码的一部分。
标识符
标识符用来命名变量、类型等程序实体。一个标识符实际上就是一个或是多个字母(a到z和A到Z,大小写敏感)数字(0~9)、下划线_组成的序列,但是第一个字符必须是字母或下划线而不能是数字。
格式化字符串
Go 语言中使用 fmt.Sprintf 或 fmt.Printf 格式化字符串并赋值给新串:
Sprintf 根据格式化参数生成格式化的字符串并返回该字符串。 Printf 根据格式化参数生成格式化的字符串并写入标准输出。