网站地图    收藏   

主页 > 后端 > Golang >

golang学习手册

来源:未知    时间:2022-09-20 18:08 作者:小飞侠 阅读:

[导读] Golang 语法基础 数据类型 布尔类型(bool) 1. 布尔类型也叫 bool 类型,bool 类型数据只允许取值 ture 和 flase 2. bool 类型占 1个字节 3. bool 类型适用与逻辑运算,一般用于程序流程控制 数字类...


Golang

语法基础

数据类型

 布尔类型(bool)

1. 布尔类型也叫 bool 类型,bool 类型数据只允许取值 ture 和 flase

2. bool 类型占 1个字节

3. bool 类型适用与逻辑运算,一般用于程序流程控制

数字类型

int , float32, float64 , Go 语言支持整型和浮点数字,并且支持复数,其中位运算采用补码

数字类型

uint8

无符号 8 位整性 0 - 256

uint16

无符号 16 位整型 (0 到 65535) 

uint32

无符号 32 位整型 (0 到 4294967295) 

uint64

无符号 64 位整型 (0 到 18446744073709551615) 

int8

有符号 8 位整型 (-128 到 127) 

int16

有符号 16 位整型 (-32768 到 32767) 

int32

有符号 32 位整型 (-2147483648 到 2147483647) 

int64

有符号 64 位整型 (-9223372036854775808 到 9223372036854775807) 

浮点类型

float32

IEEE-754 32位浮点型数 

float64

IEEE-754 64位浮点型数 

complex64

32 位实数和虚数 

complex128 

64 位实数和虚数 

字符串类型(string)

字符串就是一串固定长度的字符连接起来的字符序列。Go 的字符串是由单个字节连接起来的。
Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本。 Go 的字符串不同,它是由字节组成的。

注意事项(使用细节)

1. Golang 字符串的字节使用 UTF-8编码进行表示 Unicode 文本,这样golang 统一适用了 utf-8 变么,就能避免了中文乱码的问题

2. 字符串一旦定义就不能修改

错误案例:
var str1 string  = "124"
str1[1] = "3"

3.字符串的两种形式

1) 双引号,会识别转义字符

2)反引号,以字符串的原生形式输出,包括换行和特殊字符,可以实现防止攻击,输出源代码等效果

```
s1 := `
func printBool() {

var b bool = false

fmt.Println("b=", b)

fmt.Println("b 占用的空间 = ", unsafe.Sizeof(b))
}`
fmt.Println(s1)

//输出结果
func printBool() {
       var b bool = false
       fmt.Println("b=", b)
       fmt.Println("b 占用的空间 = ", unsafe.Sizeof(b))
}

```

4.字符串拼接的方式

1)通过 + 加号链接

5. 字符串多行拼接的时候, 换行的时候 + 加号需要放到前行的尾部

```
str  := "hello" + "world"+
"hello " + "world" +
"hello " + "world"

fmt.Println(str)

//输出结果
helloworldhello worldhello world

```

字符类型(char)

1. 字符常量是用单引号(\'\')括起来的单个字符,例如 var c1 char = \'a\',  var c2  char = \'中\' var c3 char = \'9\'

2. Go 中有女婿使用转义字符 \'\\\' 来将后面的字符串转变为特殊字符类型常量。例如:var c3 = \'\\n\' // \'\\n\' 表示换行符

3. Go  语言的字符串使用 UTF-8(英文字母1个字节,汉字3个字节)

```
var a int = 22269
fmt.Printf("%c", a)

//输出结果

```

4. 在 Go中, 字符的本质是一个整数, 直接输出的时,应该是字符对应的 UTF-8 码值。

5. 可以直接给某个变量赋一个数字,然后按照格式化输出时 %c, 会输出该字符串对饮的 unicode 字符

6. 字符类型可以进行运算的,相当于一个函数,因为他们都有对应的 Unicode 码

字符类型的本质

1. 字符型 存储到计算机中,需要讲字符对应的码值(整数)找出来

存储:字符串 -> 对应码值--> 二进制 --> 存储

读取:二进制 --> 码值 --> 字符 --> 读取

2. 字符和码值的对应关系是通过字符编码表决定的(是规定好的)

2.Go语言的编码都统一成了 utf-8 . 非常方便,很统一,不会有编码乱码的困扰

其他数字类型 

byte

类似 uint8

rune

类似 int32

uint

32 或 64 位

int

与 uint 一样

uintptr

无符号整形,用于存放指针

基本数据类型的默认值

整型  ==> 0

浮点型 ==> 0

字符串 ==> ""

布尔类型 false

复合类型

指针:pointer:存储的是变量的内存地址

声明和初始化

var 指针名 *变量类型

`var ptr *int`

获取指针值

*指针名

`*ptr`

指针不能运算

数组:array  值类型

声明和初始化

var 数组名 [长度] 类型

`var arr [8]int`

var 变量名 = [长度]类型{值, 值...}

`var arr = [3]int{1, 2, 3}`

数组名 := [...]类型{值, 值...}

`arr := [...]int{1, 2, 3}`
根据初始化个数来确定长度

数组名 := [长度]类型{下标:值...}

`arr := [3]int{0:1, 2, 3}`

注意事项

长度不一样,类型就不一样

第一个元素的内存地址,是这个数组的内存地址

数组长度需要在编译期确定

切片:slice  引用类型

定义

var 切片名  []类型 = []类型{值, 值...}

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论