日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

go基本数据类型与运算符

發(fā)布時(shí)間:2025/3/17 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 go基本数据类型与运算符 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

GO基本類型
1.布爾(bool)
長度:1字節(jié)
取值范圍:true,false
注意事項(xiàng):不可用數(shù)字代表true或false
2.整型(int/uint)
根據(jù)平臺(tái) 肯能為32位或64位
3. 8位整型:int8/uint8
長度:1字節(jié)
取值范圍:-128~127/0~255
4.字節(jié)型 :byte(uint8別名)
5. 16位整型:int16/uint16
長度:2字節(jié)
取值范圍:-32768~32767/0~65535
6. 32位整型:int32(rune)/uint32
長度:4字節(jié)
取值范圍:-2^32/2~2^32/2-1/0~2^32-1
7. 64位整型:int64/uint64
長度:8字節(jié)
取值范圍:-2^64/2~2^64/2-1/0~2^64-1
8. 浮點(diǎn)型:float32/float64
長度:4/8 字節(jié)
小數(shù)位:精確到7/15小數(shù)位
9. 復(fù)數(shù):complex64/complex128
長度:8/16字節(jié)
10. 足夠保存指針的32位或64位整數(shù)型:uintptr
其它值類型
array,struct,string
引用類型
slice,map,chan
接口類型
interface
函數(shù)類型
func

類型的零值
零值并不等于空值,而是當(dāng)變量被聲明為某種類型后的默認(rèn)值
通常情況下值類型的默認(rèn)值為0,bool為false,string為空字符串
類型別名
type(
byte int8
文本 string
)
var b 文本

?

單個(gè)變量的聲明與賦值
變量聲明格式:var 變量名稱 變量類型
變量賦值格式:變量名稱=表達(dá)式
聲明的同時(shí)賦值:var 變量名稱 變量類型=表達(dá)式
var a int
a=123
var b int=231
//以上的格式可省略變量類型,由系統(tǒng)推斷
var c=321
//變量的聲明與賦值最簡寫法
d:=456

?

多個(gè)變量的聲明和賦值
全局變量的聲明可使用var()的方式簡寫
全局變量的聲明不可省略 var,但可以使用并行方式
所有的變量都可以使用類型推斷
局部變量不可以使用var()方式簡寫,只能使用并行方式
var (
//常規(guī)方式
a="ajax"
//使用并行方式及推斷
s,b=1,2
)

函數(shù)體內(nèi)

func main(){var a,b,c,d int =1,2,3,4var a,b,c,d =1,2,3,4a,b,c,d: =1,2,3,4} func main(){var a,_,c,d int =1,2,3,4var a,b,c,d =1,2,3,4a,b,c,d: =1,2,3,4 }

變量的類型轉(zhuǎn)換
go中不存在隱式轉(zhuǎn)換,所有類型轉(zhuǎn)換必須顯式聲明
轉(zhuǎn)換只能發(fā)生在2種相互兼容的類型之間
類型轉(zhuǎn)換格式
<ValueA>[:]=<TypeOfValueA>(<ValueB>)
var a float32=1.1
b:=int(a)
//以下類型轉(zhuǎn)換 無法通過編譯
var c bool=true //只有true,false 邏輯類型
d:=int(c)

常量的定義

常量的值在編譯時(shí)就已經(jīng)確定
常量的定義格式與變量基本相同
等號(hào)右側(cè)必須是常量或者常量表達(dá)式
常量表達(dá)式中的函數(shù)必須是內(nèi)置的函數(shù)

常量的初始化規(guī)則與枚舉
在定義常量組(注意必須是常量組)時(shí),如果不提供初始值,則表示使用上行的表達(dá)式
使用相同的表達(dá)式不代表具有相同的值
iota是常量的計(jì)數(shù)器,從0開始,組中每定義1個(gè)常量自動(dòng)遞增1
通過初始化規(guī)則與iotal可以達(dá)到枚舉效果
每遇到一個(gè)const關(guān)鍵字,iota就會(huì)重置為0

package main import ( "fmt" ) const a int =1 const b='A' //const bb //報(bào)錯(cuò) const(text="123"length=len(text)num ) const(c,d=2,3e,f //使用上行表達(dá)式 必須個(gè)數(shù)一樣 ) //同時(shí)定義多個(gè)常量 const i,j,k=1,"2","3"func main() {// fmt.Println(bb);fmt.Println(length) //3fmt.Println(num) //3fmt.Println(c); //2fmt.Println(d); //3fmt.Println(e); //2fmt.Println(f); //3 } package main import ( "fmt" ) const(A="A" BC=iotaDE=iotaf='A' //內(nèi)部使用 _f ) const(G=iota ) func main() {fmt.Println(A) //Afmt.Println(B) //Afmt.Println(C) //2fmt.Println(D) //3fmt.Println(E) //4fmt.Println(f) //65fmt.Println(G) //0 }

運(yùn)算符
Go中的運(yùn)算符都是從左至右結(jié)合
優(yōu)先級(jí)(高->低)
^   ?! ?(一元運(yùn)算符)
* ?  /   %   <<   >>   &   &^
+   -    |   ^   (二元運(yùn)算符)
==    !=   < ?  <=    >=    >
<-    (專用于channel)
&&
||

func main() {fmt.Println(^2) //-3 此時(shí)為一元運(yùn)算符fmt.Println(1^2) // 3 此時(shí)為二元運(yùn)算符fmt.Println(!true); //falsefmt.Println(1<<10); //1024fmt.Println(1>>10);//0 } package main import ( "fmt" ) /** 5= 0101 11=1011 5&11=0001=1 (均為1得1) 5|11=1111=15 (有一個(gè)為1 得1) 5^11=1110=14 (有且只有1個(gè)為1 才成立) 5&^11=0100=4 (第二個(gè)數(shù)為1,把第一個(gè)數(shù)相應(yīng)位置改為0,結(jié)果為改過的第一個(gè)數(shù)的值) 4&^8=0100=4 0100 1000 **/func main() {fmt.Println(5&11) fmt.Println(5|11) fmt.Println(5^11)fmt.Println(5&^11)fmt.Println(4&^8) }

常量的iota與<<<實(shí)現(xiàn)計(jì)算機(jī)存儲(chǔ)單位的枚舉

package main import ( "fmt" ) const(B float64=1<<(iota*10)KBMBGB )func main() {fmt.Println(B) //1fmt.Println(KB) //1024fmt.Println(MB) //1.048576e+06fmt.Println(GB) //1.073741824e+09 }

指針
GO雖然保留了指針,但與其它編程語言不同的是,Go中不支持指針運(yùn)算以及 "->" 運(yùn)算符,
而直接采用"." 選擇符來操作指針目標(biāo)對(duì)象的成員
操作符 "&" 取變量地址 ,使用"*" 通過指針間接訪問目標(biāo)對(duì)象
默認(rèn)值為nil而非NULL
-----------------

package main import ( "fmt" ) func main() { a:=1 var p *int=&a fmt.Println(p) //0xc082002228 fmt.Println(*p) //1 }

?

轉(zhuǎn)載于:https://www.cnblogs.com/HKUI/p/4782551.html

總結(jié)

以上是生活随笔為你收集整理的go基本数据类型与运算符的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。