2022-4-3 实习Day7

Golang编程学习(part 2)

1、数据类型基本介绍

image-20220405100120113

image-20220405100137404

image-20220405100153127

image-20220405100202900

image-20220405100446706

2、字符类型本质探讨

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

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

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

②字符和码值的对应关系是通过字符编码表决定的(是规定好的)
③Go语言的编码都统一成了utf-8。非常方便,很统一,再也没有编码乱码的困扰了

3、字符串的两种表示形式

①双引号,会识别转义字符

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package main

import "fmt"

func main() {
str := "Go语言很好用"
fmt.Println(str)

str1 := `
package main
import (
"fmt"
"unsafe"
)

func main(){
fmt.Println("Go语言真不错")
}
`
fmt.Println(str1)
}

4、基本数据类型和string的转换

方式1:fmt.Sprintf(“%参数”,表达式) 【个人习惯这个,灵活】

Sprintf根据format参数生成格式化的字符串并返回该字符串

方式2:使用strconv包的函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package main

import (
"fmt"
"strconv"
)

func main() {

n1 := 556
n2 := 23.56
n3 := true

var str string
str = strconv.FormatInt(int64(n1), 10)
fmt.Printf("%s %T\n", str, str)
str = strconv.FormatFloat(n2, 'f', 10, 64)
fmt.Printf("%s %T\n", str, str)
str = strconv.FormatBool(n3)
fmt.Printf("%s %T\n", str, str)

//556 string
//23.5600000000 string
//true string
}