Go语言学习Day1
Go语言
Go语言介绍
Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。
Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。
Go语言特色
- 简洁,快速,安全
- 并行,有趣,开源
- 内存管理,数组安全,编译迅速
Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。
对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。
Goland by Google
Go第一个程序
其实从昨晚睡觉前,刚学习Go语言,就被简洁的写法吸引到,很想学会这门语言
接下来,写一个Go程序,hello.go(go的扩展名就是这个)1
2
3
4
5package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
执行Go语言可以使用go run命令
1 | $ go run hello.go |
Go语言结构
一个Go语言包含着以下结构
- 包声明
- 引入包
- 函数
- 变量
- 语句与表达式
- 注释
1 | package main //第一行定义了包名,必须在源文件中非注释的第一行声明这个文件属于哪个包。比如package main,package main表示一个可执行的文件,每个Go应用程序必须包含一个名为main的包 |
Go语言基础语法
Go标记
Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号。如以下 GO 语句由 6 个标记组成:fmt.Println(“Hello, World!”)
6 个标记是(每行一个):
- fmt
- .
- Println
- (
- “Hello, World!”
- )
行分隔符
在 Go 程序中,一行代表一个语句结束。每个语句不需要像 C 家族中的其它语言一样以分号 ; 结尾,因为这些工作都将由 Go 编译器自动完成。
如果你打算将多个语句写在同一行,它们则必须使用 ; 人为区分,但在实际开发中我们并不鼓励这种做法。
1 | //以下为两个语句:就是以行做分隔符 |
注释
注释不会被编译,每一个包应该有相关注释。
单行注释是最常见的注释形式,你可以在任何地方使用以 // 开头的单行注释。多行注释也叫块注释,均已以 / 开头,并以 / 结尾。
1 | //以下是应用了注释的 |
标识符
标识符用来命名变量、类型等程序实体。一个标识符实际上就是一个或是多个字母(A~Z和a~z)数字(0~9)、下划线_组成的序列,但是第一个字符必须是字母或下划线而不能是数字。
以下是有效的标识符:
mahesh 、kumar 、abc 、move_name 、a_123 、myname50 、_temp 、j 、a23b9 、retVal
以下是无效的标识符:
1ab(以数字开头)case(Go 语言的关键字)a+b(运算符是不允许的)
字符串连接
Go 语言的字符串连接可以通过 + 实现
以下是示例:
1
2
3
4
5 package main
import "fmt"
func main() {
fmt.Println("Google" + "Runoob")
}
结果是:GoogleRunoob
关键字
Go语言的空格
在 Go 语言中,空格通常用于分隔标识符、关键字、运算符和表达式,以提高代码的可读性。
Go 语言中变量的声明必须使用空格隔开
1 | //在变量与运算符间加入空格,程序看起来更加美观,如: |
格式化字串符
Go 语言中使用 fmt.Sprintf 或 fmt.Printf 格式化字符串并赋值给新串:
两者的区别是:
- Sprintf:根据格式化参数生成格式化字符串并返回字符串
- Printf:根据格式化参数生成格式化字符串并写入标准输出
1 | //以下是fmt.Sprintf的实际使用 |
结果一致,都是//Code=123&endDate=2020-12-31