注:此为学习笔记,闲着玩发的

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

无符号整型,用于存放一个指针