### 整型
> **兩個整型變量除法運算,只取整數部分**
```
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
- 多線程:通道思路
- 多線程爬蟲:快代理