golang基礎小結

2021-10-05 05:15:26 字數 2909 閱讀 5460

無符號整型:uint8uint16uint32uint64

帶符號整型:int8int16int32int64

uintint具體是32位還是64位看作業系統

型別描述

uint8

無符號 8位整型 (0 到 255)

uint16

無符號 16位整型 (0 到 65535)

uint32

無符號 32位整型 (0 到 4294967295)

uint64

無符號 64位整型 (0 到 18446744073709551615)

int8

有符號 8位整型 (-128 到 127)

int16

有符號 16位整型 (-32768 到 32767)

int32

有符號 32位整型 (-2147483648 到 2147483647)

int64

有符號 64位整型 (-9223372036854775808 到 9223372036854775807)

型別描述

uint

32位作業系統上就是uint32,64位作業系統上就是uint64

int32位作業系統上就是int32,64位作業系統上就是int64

uintptr

無符號整型,用於存放乙個指標

float32和float64

go語言中浮點數預設是float64

complex128和complex64

boolean

string

go語言中字串都是utf-8編碼,utf-8編碼中乙個常用漢字一般佔3個字元

由於rune可表示的範圍更大,所以能處理一切字元,當然也包括中文字元。在平時計算中文字元,可用rune。

func main() 

//輸出,注意在golang中乙個漢字佔3個byte

chinese length 31

chinese word length 19

chinese word length 19

go語言型別轉換

if 表示式1

else

if 表示式2

else

for 初始語句;條件表示式;結束語句
可以使用for range遍歷陣列、切片、字串、map 及通道(channel)。 通過for range遍歷的返回值有以下規律:

陣列、切片、字串返回索引和值。

map返回鍵和值。

通道(channel)只返回通道內的值。

switch inter
fallthrough語法可以執行滿足條件的case的下乙個case,是為了相容c語言中的case設計的。

func

switchdemo5()

}

輸出:

a

b

for i :=

0; i <

10; i++

fmt.

printf

("%v-%v\n"

, i, j)}}

return

// 標籤

breaktag:

fmt.

println

("結束for迴圈"

)

break語句可以結束forswitchselect的**塊。

break語句還可以在語句後面新增標籤,表示退出某個標籤對應的**塊,標籤要求必須定義在對應的forswitchselect的**塊上。 舉個例子:

func

breakdemo1()

fmt.

printf

("%v-%v\n"

, i, j)}}

fmt.

println

("..."

)}

continue語句可以結束當前迴圈,開始下一次的迴圈迭代過程,僅限在for迴圈內使用。

continue語句後新增標籤時,表示開始標籤對應的迴圈。例如:

func

continuedemo()

fmt.

printf

("%v-%v\n"

, i, j)}}

}

go 語言內建的運算子有:

算術運算子

關係運算子

邏輯運算子

位運算子

運算子描述

&參與運算的兩數各對應的二進位相與。 (兩位均為1才為1)

|參與運算的兩數各對應的二進位相或。 (兩位有乙個為1就為1)

^參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。 (兩位不一樣則為1)

<<

左移n位就是乘以2的n次方。 「a<>>

右移n位就是除以2的n次方。 「a>>b」是把a的各二進位全部右移b位。

賦值運算子

Golang 基礎 12 基礎小結

目錄 package main import fmt func ppp s int func main 結果是 本來應該改變的,為什麼沒有變?所以使用slice會修改時,建議盡量使用返回值 package main import fmt time func main 建議使用第一行的輸出方式,第二行...

GoLang 併發小結

006.併發 1 概念 1.1 goroutine是go並行設計的核心,goroutine的本質是輕量級執行緒 1.2 golang的runtime實現了對輕量級執行緒即goroutine的智慧型排程管理 1.3 p m g原理 1.3.1 runtime有p m g三個概念,p對應作業系統程序 對...

Golang測試包小結

golang自帶了測試包 testing 直接可以進行單元測試 效能分析 輸出結果驗證等。簡單看著官方文件試了試,總結一下 使用golang的測試包,需要遵循簡單的目錄結構 測試 放在待測試 的目錄下 乙個包內 以 test.go結尾,例如如下目錄結構,mytest目錄下有待測試的 檔案mytest...