Go语言用途
设计用于搭载Web服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。
对于高性能分布系统领域而言,Go语言无疑比大多数其他语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言,是最好不过了。
Go特性
接收了函数式编程的一些想法,支持匿名函数与闭包,接收了Erlang语言为代表的面向消息编程思想,支持goroutine和通道,推荐使用消息通知,而不是共享内存来进行并发编程。Go语言非常现代化,精小而强大。
- 自动垃圾回收
- 更丰富的内置类型
- 函数多返回值
- 错误处理
- 匿名函数和闭包
- 类型和借口
- 并发编程
- 反射
- 交互式语言
运行和编译
Go既可以理解为动态语言,也可理解为静态语言,go语言编写的代码,可编译也可不变异;go定义变量需要指明类型
go语言编写的文件,使用 .go 作为后缀名
- 运行go文件 -------- go run test.go
- 编译 -------- go build test.go
- 运行编译后的文件(和运行shell脚本文件一样) -------- /bin/bash test
Go的安装
- 下载:https://golang.google.cn/dl/
- 解压:tar -zxvf go1.x.x.xxxxx.tar.gz
- 添加环境变量:/etc/profile 或~/.bash_profile 》》》 export PATH=$PATH:/usr/local/go/bin 》》》/bin/bash /etc/profile或 /bin/bash ~/.bash_profile
Go 语言结构
-
包声明
package main // 非注释的第一行,指明这个文件属于哪个包;每一个Go程序都包含一个main包
-
引入包
import "fmt" // 导入包,包名相比python要加引号,“fmt”包用于格式化IO输入输出
-
函数
func main(){ // mian函数是每一个可执行程序所必须包含的,一般来说是首先执行的函数 /* 函数内部的逻辑 */ }
-
变量
当标示符,常量、变量、类型、函数名、结构字段等,以大写字母开头,则可以被外部导入;若以小写开头,则不可被其他 .go 文件导入 -
语句&表达式
-
注释
// 这是一个单行注释 /* 这是 多行注释 */
- 标识符
标识符用来命名变量,由数字、大小写字母、下划线组成,第一个字符必须是字母或者下划线,不能是内置关键字
- 标识符
注意事项:
- Go导包,包名需要打引号
- Go中必须要导main包和有main函数
- { 左花括号不能单独一行
Go语言基础语法
-
字符串连接 -------- 加号+
package main import "fmt" func main(){ fmt.Println("A" + "B") }
-
关键字 -------- 25个,略
-
空格 -------- Go语言中变量的声明必须使用空格隔开,语句中适当使用空格使代码看起来更美观
var age int;
age = 34;
num = age + 56;
-