Go 简介
-
Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。
-
罗伯特·格瑞史莫,罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计Go,稍后 Ian Lance Taylor、Russ Cox加入项目。
-
Go是基于Inferno操作系统所开发的。
-
Go于2009年11月正式宣布推出,成为开放源代码项目,支持Linux、Mac OS X、Windows等操作系统。
-
Go在2016年,Go被软件评价公司TIOBE 选为“TIOBE 2016 年最佳语言”。
下载Go包
操作系统 | 包名 & 下载 |
---|---|
Windows | go1.15.2.windows-amd64.msi |
Linux | go1.15.2.linux-amd64.tar.gz |
Mac | go1.15.2.darwin-amd64.pkg |
FreeBSD | go1.15.2.darwin-amd64.tar.gz |
liteidex37.1-3.windows-qt5.9.5.zip |
UNIX/Linux/Mac OS X, 和 FreeBSD 安装
- 以下介绍了在UNIX/Linux/Mac OS X, 和 FreeBSD系统下使用源码安装方法
- 下载二进制包:go1.15.2.linux-amd64.tar.gz
- 将下载的二进制包解压至 /usr/local目录。
安装go
yum install wget -y && wget -N -P /root/ https://golang.google.cn/dl/go1.15.2.linux-amd64.tar.gz && tar -zxvf /root/go1.15.2.linux-amd64.tar.gz -C /usr/local && sed -i '$aexport PATH=$PATH:/usr/local/go/bin' /etc/profile && source /etc/profile
Go语言基础
-
Go基础结构
// 程序的入口
package main
// 导入的包
import "fmt"
// main 函数的内容,每个程序必须包含 main 函数作为入口
func main() {
// 单行注释写法
/*
多行注释,块注释
*/
// 执行fmt包下的Println函数
fmt.Println("hello CIAS!")
}
-
go 程序执行
#第一种
go run main.go
第二种(发布程序)
go build , 然后再执行 ./main
标识符
- 在编程语言中标识符就是程序员定义的具有特殊意义的词, 比如 变量名、常量名、函数名等. Go语言中标识符由字母数据和
_
(下划线)组成,并且只能以字母和_
开头。比如Abc
、_Abc
、a123
关键字
- 关键字是指编程语言中预先定义了具有特殊含义的标识符。关键字和保留字都不建议用作变量名。
- Go语言中有25个关键字:
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
- Go语言中的37个保留字:
常量: true false iota nil
类型:
int int8 int16 int64
uint uint8 uint16 uint32 uint64 uintptr
float32 float64 complex128 complex64
bool byte rune string error
方法(functions):
make len cap new append copy close delete
complex real imag
panic recover
变量
- 变量的含义: 程序运行过程中的数据都是保存在内存中,我们想要在代码中操作某个数据时就需要去内存上找到这个变量,但是如果我们直接在代码中通过内存地址去操作变量的话,代码的可读性会非常差而且还容易出错,所以我们就利用变量将这个数据的内存地址保存起来,以后直接通过这个变量就能找到内存上对应的数据了。
- 变量类型: 变量 的功能是存储数据。不同的变量保存的数据类型可能会不一样。常见变量的数据类型有: 整型、浮点型、布尔型等。 Go语言中的每一个变量都有自己的类型,并且变量必须经过声明才能开始使用。
- 变量声明: Go语言中的变量需要声明后才能使用,同一作用域内不支持重复声明。 并且Go语言的变量声明后必须使用, 否则会报错。
- 变量声明格式:
var 变量名 变量类型
, 函数外的变量声明必须都是以 var 开头进行声明。 - 变量赋值:
var 变量名 变量类型 = 值
var 变量名1,变量名2 = 变量1的值, 变量2的值
。
package main
import "fmt"
func main() {
// 标准声明
var name string
var age int
var isOk bool
// 批量声明
var (
a string
b int
c bool
)
// 变量赋值
name = "名字"
age = 19
isOk = false
a = "A"
b = 12
c = true
// 短变量声明,只能在函数内使用
d := "dddd"
// 输出
fmt.Println(name, age, isOk, a, b, c, d)
}
常量
- 相对于变量,常量是恒定不变的值,多用于定义程序运行期间不会改变的那些值。 常量的声明和变量声明非常类似,只是把var换成了const,常量在定义的时候必须赋值。
- 常量定义与赋值:
const 常量名 = 值
// 常量定义
const a = 3333
const b = 4444
// 批量定义
const (
c = 5555
d = 6666
)
// 常量如果不写值会继承上一个的值
const (
e = 7777
f
g
)