注:此为学习笔记,闲着玩发的
1.Go语言基础
一、语言特色:
简洁、快速、安全
并行、有趣、开源
内存管理、v数组安全、编译迅速
二、用途
一门应用于搭载Web服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。
对于高性能分布式系统领域,Go语言有更高的开发效率。它提供了海量并行的支持。
三、第一个程序
package main
import "fmt"
func main(){
fmt.Println("Hello World!")
}
注:go语言源文件扩展是.go
2.Go语言结构
一、基础构成
包声明
引入包
函数
变量
语句&表达式
注释
1、例:
package main // 包声明
import "fmt" // 引入包
func main() { // 执行函数
/* 多行注释 */
fmt.Println("Hello, World!") // 自动换行
fmt.Println("Hello, World!") // 不自动换行
}
注:当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Group1,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public);标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 private )。
二、执行Go程序
语法:go run 文件名
3、Go语言基础语法
一、Go标记
1、go程序右多个标记组成,可以是关键字、标识符、常量、字符串、符号。
2、例:fmt.Println("Hello")
这一句由六个标记组成一行一个。
fmt
.
Println
(
"Hello"
)
二、行分隔符
在go中一行代表一个语句结束。当你想要一行多个语句时需要添加;
例:fmt.Println("Hello World!");fmt.Println("Hello Word!")
三、注释
单行注释语法:// 注释内容
多行注释语法:/* 注释内容 */
四、标识符
1、标识符用于命名变量、类型等程序实体。一个标识符实际上就是一个或多个字母(A~Z)和(a~z)数字(0~9)、下划线组成的序列,但是第一个字符必须是字母、下划线而不能是数字
2、例
a_123 // 有效标识符
a+b // 无效标识符
五、关键字
1、Go代码中会使用到的25个关键字或保留字
break
default
func
interface
case
defer
go
map
chan
else
goto
package
const
fallthrough
if
range
continue
for
import
return
注:程序一般由关键字、常量、变量、运算符、类型和函数组成。
程序中可能会用到分隔符:括号()、中括号[]、大括号{}。
程序中可能会用到标点符号:. 、, 、; 、: 、... 。
六、空格
Go语言中变量声明必须使用空格
例:var age int;
4、Go语言数据类型
注: 1、在Go中,数据类型用于声明函数和变量。
2、数据类型的出现是为了把数据分成所需内存大小不同的数据,编程时用到大数据时才需申请大内存。
一、数据类型
1、布尔型
true/false
例:var b bool = true
2、数字类型
整型int和浮点型float,Go语言支持整型和浮点型数字,并原生支持复数,其中位的运算采用补码。
3、字符串类型
字符串就是一串固定长度的字符连接起来的字符序列。GO的字符串由单个字节连接起来的。Go语言的字符串使用UTF-8编码表示Unicode文本。
4、派生类型
包括:
1、指针类型(Pointer)
2、数组类型(Array)
3、结构化类型(struct)
4、联合体类型(union)
5、函数类型
6、切片类型(Slice)
7、接口类型
8、Map类型
9、Channel类型
二、数字类型
Go也有基于架构的类型,例如:int、unit、uintptr。
整数型:
1、unit8
无符号8位整数型(0到255)
2、unit16
无符号16位整数型(0到65535)
3、unit32
无符号32位整数型(0到4294967295)
4、unit64
无符号64位整数型
5、int8
有符号8位整数型(-128到127)
6、int16
有符号16位整数型(-32768到32767)
7、int32
有符号32位整数型(-2147483648 到 2147483647)
8、int64
有符号64位整数型(-9223372036854775808 到 9223372036854775807)
浮点型:
1、float32
IEEE-754 32位浮点型数
2、float64
IEEE-754 64位浮点型数
3、complex64
32 位实数和虚数
4、complex128
64 位实数和虚数
其他数字类型:
1、byte
类似 uint8
2、rune
类似 int32
3、uint
32 或 64 位
4、int
与 uint 一样大小
5、uintptr
无符号整型,用于存放一个指针