### 整型
> **两个整型变量除法运算,只取整数部分**
```
package main
import "fmt"
func main() {
a := 3
b := 2
fmt.Println(a / b)
//输出 1
}
```
### 浮点型
> **指小数**
```
package main
import (
"fmt"
"reflect"
//reflect包中 TypeOf() 判断数据类型
)
func main() {
a := 3.0
b := 2.0
fmt.Println(a / b)
// 输出 1.5
fmt.Println("变量a的类型:", reflect.TypeOf(a), "变量b的类型:", reflect.TypeOf(b))
// 变量a的类型: float64 变量b的类型: float64
}
```
### 字符串
> **双引号中的内容,可直接输入中文,多行字符串需使用 `` 符。**
```
package main
import (
"fmt"
"reflect"
//reflect包中 TypeOf() 判断数据类型
)
func main() {
str := "你好!"
str2 := `
第一行
第二行
第三行
`
fmt.Println(str)
// 输出 你好!
fmt.Println(str2)
//第一行
//第二行
//第三行
fmt.Println("变量str的类型:", reflect.TypeOf(str), "变量str2的类型:", reflect.TypeOf(str2))
// 变量str的类型: string 变量str2的类型: string
}
```
### 字符和转义符
> **字符为单引号中的内容,类型 uint8 和 rune 类型。**
```
package main
import (
"fmt"
"reflect"
//reflect包中 TypeOf() 判断数据类型
)
func main() {
english := 'a'
chinese := '你'
fmt.Println(english)
// 输出 97
fmt.Println(chinese)
// 20320
fmt.Println("变量english的类型:", reflect.TypeOf(english), "变量chinese的类型:", reflect.TypeOf(chinese))
// 变量english的类型: int32 变量chinese的类型: int32
}
```
常见转义符
```
\a 匹配响铃符 (相当于 \x07)
注意:正则表达式中不能使用 \b 匹配退格符,因为 \b 被用来匹配单词边界,
可以使用 \x08 表示退格符。
\f 匹配换页符 (相当于 \x0C)
\t 匹配横向制表符(相当于 \x09)
\n 匹配换行符 (相当于 \x0A)
\r 匹配回车符 (相当于 \x0D)
\v 匹配纵向制表符(相当于 \x0B)
\' 匹配单引号
\" 匹配双引号
\123 匹配 8 進制编码所代表的字符(必须是 3 位数字)
\x7F 匹配 16 進制编码所代表的字符(必须是 3 位数字)
\x{10FFFF} 匹配 16 進制编码所代表的字符(最大值 10FFFF )
\Q...\E 匹配 \Q 和 \E 之间的文本,忽略文本中的正则语法
\\ 匹配字符 \
\^ 匹配字符 ^
\$ 匹配字符 $
\. 匹配字符 .
\* 匹配字符 *
\+ 匹配字符 +
\? 匹配字符 ?
\{ 匹配字符 {
\} 匹配字符 }
\( 匹配字符 (
\) 匹配字符 )
\[ 匹配字符 [
\] 匹配字符 ]
\| 匹配字符 |
```
### 布尔值
> **布尔值只有 真(true)和假(false)**
```
package main
import (
"fmt"
)
func main() {
var a bool
fmt.Println(a)
// 输出 false
a = true
fmt.Println(a)
// 输出 true
}
```
### 数据类型转换
> **常见的数据类型可以相互转换,转换后 变量的值也会被改变**
```
package main
import (
"fmt"
"reflect"
)
func main() {
var a int32 = 1234567891
fmt.Println("变量a的值为:", a, "类型为:", reflect.TypeOf(a))
// 变量a的值为: 1234567891 类型为: int32
fmt.Println("转换变量a类型为string:", string(a))
// 转换变量a类型为string: �
b := int16(a)
fmt.Println("b的值为:", b, "b的类型为:", reflect.TypeOf(b))
// b的值为: 723 b的类型为: int16
}
```
- 安装开发环境
- 安装开发环境
- 安装详细教程
- 引入包
- Go语言基础
- 基本变量与数据类型
- 变量
- 数据类型
- 指针
- 字符串
- 代码总结
- 常量与运算符
- 常量
- 运算符
- 流程控制
- if判断
- for循环
- switch分支
- goto跳转
- 斐波那契数列
- Go语言内置容器
- 数组
- 切片
- 映射
- 函数
- 函数(上)
- 函数(中)
- 函数(下)
- 小节
- 包管理
- 结构体
- 结构体(上)
- 结构体(中)
- 结构体(下)
- 小节
- 错误处理
- 错误处理
- 宕机
- 错误应用
- 小节
- 文件操作
- 获取目录
- 创建和删除目录
- 文件基本操作(上)
- 文件基本操作(中)
- 文件基本操作(下)
- 处理JSON文件
- 接口与类型
- 接口的创建与实现
- 接口赋值
- 接口嵌入
- 空接口
- 类型断言(1)
- 类型断言(2)
- 小节
- 并发与通道
- goroutine协程
- runtime包
- 通道channel
- 单向通道channel
- select
- 线程同步
- 多线程的深入学习
- http编程
- http简介
- Client和Request
- get请求
- post请求
- 模块函数方法
- 模块
- fmt库,模块
- 项目练习
- 爬虫:高三网
- 爬虫:快代理
- 爬虫:快代理2
- 多线程:通道思路
- 多线程爬虫:快代理