Go 語言資料型別
阿新 • • 發佈:2021-07-12
Go 語言資料型別
在 Go 程式語言中,資料型別用於宣告函式和變數。
資料型別的出現是為了把資料分成所需記憶體大小不同的資料,程式設計的時候需要用大資料的時候才需要申請大記憶體,就可以充分利用記憶體。
Go 語言按類別有以下幾種資料型別:
序號 | 型別和描述 |
---|---|
1 | 布林型 布林型的值只可以是常量 true 或者 false。一個簡單的例子:var b bool = true。 |
2 | 數字型別 整型 int 和浮點型 float32、float64,Go 語言支援整型和浮點型數字,並且支援複數,其中位的運算採用補碼。 |
3 | 字串型別: 字串就是一串固定長度的字元連線起來的字元序列。Go 的字串是由單個位元組連線起來的。Go 語言的字串的位元組使用 UTF-8 編碼標識 Unicode 文字。 |
4 | 派生型別: 包括: (a) 指標型別(Pointer)(b) 陣列型別 (c) 結構化型別(struct) (d) Channel 型別 (e) 函式型別 (f) 切片型別 (g) 介面型別(interface) (h) Map 型別 |
數字型別
Go 也有基於架構的型別,例如:int、uint 和 uintptr。
序號 | 型別和描述 |
---|---|
1 | uint8 無符號 8 位整型 (0 到 255) |
2 | uint16 無符號 16 位整型 (0 到 65535) |
3 | uint32 無符號 32 位整型 (0 到 4294967295) |
4 | uint64 無符號 64 位整型 (0 到 18446744073709551615) |
5 | int8 有符號 8 位整型 (-128 到 127) |
6 | int16 有符號 16 位整型 (-32768 到 32767) |
7 | int32 有符號 32 位整型 (-2147483648 到 2147483647) |
8 | int64 有符號 64 位整型 (-9223372036854775808 到 9223372036854775807) |
浮點型
序號 | 型別和描述 |
---|---|
1 | float32 IEEE-754 32位浮點型數 |
2 | float64 IEEE-754 64位浮點型數 |
3 | complex64 32 位實數和虛數 |
4 | complex128 64 位實數和虛數 |
其他數字型別
以下列出了其他更多的數字型別:
序號 | 型別和描述 |
---|---|
1 | byte 類似 uint8 |
2 | rune 類似 int32 |
3 | uint 32 或 64 位 |
4 | int 與 uint 一樣大小 |
5 | uintptr 無符號整型,用於存放一個指標 |
筆記
go 1.9版本對於數字型別,無需定義int及float32、float64,系統會自動識別。
package main
import "fmt"
func main() {
var a = 1.5
var b =2
fmt.Println(a,b)
}
執行結果
# go run int.go
1.5 2
Boolean
在 Go 中,布林值的型別為 bool,值是 true 或 false,預設為 false。
//示例程式碼
var isActive bool // 全域性變數宣告
var enabled, disabled = true, false // 忽略型別的宣告
func test() {
var available bool // 一般宣告
valid := false // 簡短宣告
available = true // 賦值操作
}
字串去除空格和換行符
package main
import (
"fmt"
"strings"
)
func main() {
str := "這裡是 www\n.runoob\n.com"
fmt.Println("-------- 原字串 ----------")
fmt.Println(str)
// 去除空格
str = strings.Replace(str, " ", "", -1)
// 去除換行符
str = strings.Replace(str, "\n", "", -1)
fmt.Println("-------- 去除空格與換行後 ----------")
fmt.Println(str)
}
輸出結果為:
-------- 原字串 ----------
這裡是 www
.runoob
.com
-------- 去除空格與換行後 ----------
這裡是www.runoob.com
本文轉自:https://www.runoob.com/go/go-data-types.html
個性簽名:獨學而無友,則孤陋而寡聞!
如果覺得這篇文章對你有小小的幫助的話,記得點個“關注”哦,博主在此感謝!還可以掃碼新增好友,交流程式設計上的問題哦!
萬水千山總是情,點贊再走行不行!哈哈哈(っ•̀ω•́)っ✎⁾⁾!