按數(shù)據(jù)類別有以下幾種數(shù)據(jù)類型:
成都創(chuàng)新互聯(lián)專注于永順企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城系統(tǒng)網(wǎng)站開發(fā)。永順網(wǎng)站建設(shè)公司,為永順等地區(qū)提供建站服務(wù)。全流程按需定制制作,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
按存儲方式也有兩大類數(shù)據(jù)類型:
值類型:變量直接存儲值。值類型的數(shù)據(jù)存儲在棧內(nèi)存空間中,棧在函數(shù)調(diào)f返回后,內(nèi)存會被釋放。
引用類型:變量存儲的是一個地址,這個地址存儲最終的值。引用數(shù)據(jù)類型的數(shù)據(jù)存儲在堆內(nèi)存空間中,通過 GC 回收。
函數(shù)調(diào)用時申明的基礎(chǔ)類型均為值傳遞,如int,string,數(shù)組等,數(shù)據(jù)傳入函數(shù)后會重新copy一份,函數(shù)內(nèi)的修改不會影響外面的變量,外部變量的修改也不會影響函數(shù)類的變量。
func main () {
myvar := [ 4 ] string {" test0 ", " test1 ", " test3 ", " test4 "}
go Test (myvar)
for i := 1 ; i
golang原生數(shù)據(jù)類型:
按長度:int8(-128-127)、int16、int32、int64。
無符號整型:uint8(0-255)、uint16、uint32、uint64。
int:32位操作系統(tǒng)上就是int32,64位操作系統(tǒng)上就是int64。
uint:32位操作系統(tǒng)上就是uint32,64位操作系統(tǒng)上就是uint64。
含義
Golang的引用類型包括slice、map和channel。它們有復雜的內(nèi)部結(jié)構(gòu),除了申請內(nèi)存外,還需要初始化相關(guān)屬性。對于引用類型,變量存儲的是一個地址,這個地址存儲最終的值。內(nèi)存通常在堆上分配,通過GC回收。獲取指針類型所指向的值,使用:"*"取值符號。比如:var*pint,使用*p獲取p指向的值。
本文介紹一些Go語言的基礎(chǔ)語法。
先來看一個簡單的go語言代碼:
go語言的注釋方法:
代碼執(zhí)行結(jié)果:
下面來進一步介紹go的基礎(chǔ)語法。
go語言中格式化輸出可以使用 fmt 和 log 這兩個標準庫,
常用方法:
示例代碼:
執(zhí)行結(jié)果:
更多格式化方法可以訪問中的fmt包。
log包實現(xiàn)了簡單的日志服務(wù),也提供了一些格式化輸出的方法。
執(zhí)行結(jié)果:
下面來介紹一下go的數(shù)據(jù)類型
下表列出了go語言的數(shù)據(jù)類型:
int、float、bool、string、數(shù)組和struct屬于值類型,這些類型的變量直接指向存在內(nèi)存中的值;slice、map、chan、pointer等是引用類型,存儲的是一個地址,這個地址存儲最終的值。
常量是在程序編譯時就確定下來的值,程序運行時無法改變。
執(zhí)行結(jié)果:
執(zhí)行結(jié)果:
Go 語言的運算符主要包括算術(shù)運算符、關(guān)系運算符、邏輯運算符、位運算符、賦值運算符以及指針相關(guān)運算符。
算術(shù)運算符:
關(guān)系運算符:
邏輯運算符:
位運算符:
賦值運算符:
指針相關(guān)運算符:
下面介紹一下go語言中的if語句和switch語句。另外還有一種控制語句叫select語句,通常與通道聯(lián)用,這里不做介紹。
if語法格式如下:
if ... else :
else if:
示例代碼:
語法格式:
另外,添加 fallthrough 會強制執(zhí)行后面的 case 語句,不管下一條case語句是否為true。
示例代碼:
執(zhí)行結(jié)果:
下面介紹幾種循環(huán)語句:
執(zhí)行結(jié)果:
執(zhí)行結(jié)果:
也可以通過標記退出循環(huán):
--THE END--