【金秋打卡】第16天 Go开发工程师全新版 4-1
2022/11/11 3:23:57
本文主要是介绍【金秋打卡】第16天 Go开发工程师全新版 4-1,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
课程名称: Go开发工程师全新版
课程章节: 4-1 数值、浮点数和字符类型
课程讲师: bobby
课程内容:
-
布尔类型:bool 只能存放 true 和 false,表示 真(true)、假(false) 的意思
-
数值类型
-
整数:int、int8、int16、int32、int64、uint、uint8、uint16、uint32、uint64
-
浮点数:float32、flota64
-
复数: complex64(32 位实数和虚数)、complex128(64 位实数和虚数)
使用 complex(x,y) 为复数赋值,x、y 分别表示构成该复数的两个 float64 类型的数值,x 为实部,y 为虚部。
var name complex128 = complex(1, 2)
real(z):go 内置函数,获取复数的实部,也就是 x
imag(z) :go 内置函数,获取复数的虚部,也就是 y。
-
byte 字节类型:本质是 int8,存放字节
-
rune 字节类型:本质是 int32,存放字节
-
-
字符串类型:string
布尔类型(bool)
布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true
package main import "fmt" func main() { var ok bool ok = true ok = false ok = '123' // 错误,只能是 true 和 false }
数值型
-
整数型
可以简单讲解一下二进制和位数的关系,以及 int 和 uint 的关系
- int:动态类型,根据操作系统来定义,如果操作系统是32,他就是 int32
-
int8:有符号 8 位整型 (-128 到 127) 长度:8bit
-
int16: 有符号 16 位整型 (-32768 到 32767)
-
int32: 有符号 32 位整型 (-2147483648 到 2147483647)
-
int64: 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)
-
uint:动态类型,根据操作系统来定义,如果操作系统是32,他就是 uint32
-
uint8: 无符号 8 位整型 (0 到 255) 8位都用于表示数值:
-
uint16: 无符号 16 位整型 (0 到 65535)
-
uint32: 无符号 32 位整型 (0 到 4294967295)
-
uint64: 无符号 64 位整型 (0 到 18446744073709551615)
-
浮点型
-
float32: 32位浮点型数,大约是 3.4e38
-
float64: 64位浮点型数,大约是 1.8e308
-
其他
-
byte 等于 uint8,主要用于存放英文字符,字符本质是一个数字
package main import "fmt" func main() { // 主要用于存放英文字符,不能存放中文, // 因为中文的字节超过 int8 的长度也就(-128 到 127) var c byte c = 'a' fmt.Printf(c) fmt.Printf("c=%c", c) }
-
rune 等于 int32,主要用于存放字符,存放中文字符使用它,字符本质是一个数字
package main import "fmt" func main() { // 主要用于存放中英文字符 var c rune c = '慕' fmt.Printf(c) fmt.Printf("c=%c", c) }
字符类型
Golang中没有专门的字符类型,如果要存储单个字符(字母),一般使用 byte 来保存。
字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。也就是说对于传统的字符串是由字符组成的,而Go的字符串不同,它是由字节组成的。
package main import ( "fmt" ) func main() { var a byte a = 'a' //输出ascii对应码值 。。 这里说明一下什么是ascii码 fmt.Println(a) fmt.Printf("a=%c", a) }
字符常量 只能使用 单引号 括起来,例如:var a byte = 'a'
var a int = 'a'
package main import ( "fmt" ) func main() { var a byte a = "a" //输出ascii对应码值 。。 这里说明一下什么是ascii码 fmt.Println(a) fmt.Printf("a=%c", a) } 代码块
字符本质是一个数字, 可以进行加减乘除
package main import ( "fmt" "reflect" ) func main() { a := 'a' //这里注意一下 1. a+1可以和数字计算 2.a+1的类型是32 3. int类型可以直接变成字符 fmt.Println(reflect.TypeOf(a+1)) fmt.Printf("a+1=%c", a+1) } 代码块
字符串(string)
字符串就是一串固定长度的字符连接起来的字符序列。Go 的字符串是由单个字节连接起来的。Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本。
package main import "fmt" func main() { var name string name = "i am bobby" fmt.Println(name) }
课程收获:
了解基础数据类型
这篇关于【金秋打卡】第16天 Go开发工程师全新版 4-1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-20go-zero 框架的 RPC 服务 启动start和停止 底层是怎么实现的?-icode9专业技术文章分享
- 2024-12-19Go-Zero 框架的 RPC 服务启动和停止的基本机制和过程是怎么实现的?-icode9专业技术文章分享
- 2024-12-18怎么在golang中使用gRPC测试mock数据?-icode9专业技术文章分享
- 2024-12-15掌握PageRank算法核心!你离Google优化高手只差一步!
- 2024-12-15GORM 中的标签 gorm:"index"是什么?-icode9专业技术文章分享
- 2024-12-11怎么在 Go 语言中获取 Open vSwitch (OVS) 的桥接信息(Bridge)?-icode9专业技术文章分享
- 2024-12-11怎么用Go 语言的库来与 Open vSwitch 进行交互?-icode9专业技术文章分享
- 2024-12-11怎么在 go-zero 项目中发送阿里云短信?-icode9专业技术文章分享
- 2024-12-11怎么使用阿里云 Go SDK (alibaba-cloud-sdk-go) 发送短信?-icode9专业技术文章分享
- 2024-12-10搭建个人博客网站之一、使用hugo创建个人博客网站