【基礎(chǔ)】Go - 基礎(chǔ)基礎(chǔ)知識(shí)

Go語言中類似if和switch的關(guān)鍵字有25個(gè);關(guān)鍵字不能用于自定義名字,只能在特定語法結(jié)構(gòu)中使用淆两。

break      default       func     interface   select
case       defer         go       map         struct
chan       else          goto     package     switch
const      fallthrough   if       range       type
continue   for           import   return      var

還有大約30多個(gè)預(yù)定義的名字,比如int和true等拂酣,主要對(duì)應(yīng)內(nèi)建的常量秋冰、類型和函數(shù)。

內(nèi)建常量:

 true false iota nil

內(nèi)建類型:

int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
float32 float64 complex128 complex64
 bool byte rune string error

內(nèi)建函數(shù):

make len cap new append copy close delete
          complex real imag
          panic recover

算術(shù)運(yùn)算符
下表顯示了Go語言支持的所有算術(shù)運(yùn)算符婶熬。假設(shè)變量 A 的值為 10剑勾,變量 B 的值為 20,則:

運(yùn)算符 描述  示例
+   添加兩個(gè)操作數(shù) A+B=30
-   從第一個(gè)操作數(shù)中減去第二個(gè)操作數(shù)    A-B=10
*   將兩個(gè)操作數(shù)相乘    A*B=200
/   將分子除以分母 B/A=2
%   模數(shù)運(yùn)算符赵颅,以及整數(shù)除法的余數(shù) B%A=0
++  增加(遞增)運(yùn)算符虽另,將整數(shù)值加一    A++=11
–   相減(遞減)運(yùn)算符,將整數(shù)值減一    A—-=9

關(guān)系運(yùn)算符
下表顯示了Go語言支持的所有關(guān)系運(yùn)算符饺谬。假設(shè)變量 A 的值為 10捂刺,變量 B 的值為 20,則:

運(yùn)算符 描述 示例

==  檢查兩個(gè)操作數(shù)的值是否相等募寨,如果相等族展,則條件為真。   (A==B)結(jié)果為假
!=  檢查兩個(gè)操作數(shù)的值是否相等绪商,如果值不相等苛谷,則條件為真。 (A!=B)結(jié)果為真
>   檢查左操作數(shù)的值是否大于右操作數(shù)的值格郁,如果是,則條件為真独悴。   (A>B)結(jié)果為假
<   檢查左操作數(shù)的值是否小于右操作數(shù)的值例书,如果是,則條件為真刻炒。   (A<B)結(jié)果為真
>=  檢查左操作數(shù)的值是否大于或等于右操作數(shù)的值决采,如果是,則條件為真坟奥。    (A>=B)結(jié)果為假
<=  檢查左操作數(shù)的值是否小于或等于右操作數(shù)的值树瞭,如果是拇厢,則條件為真。    (A<=B)結(jié)果為真

邏輯運(yùn)算符
下表顯示了Go語言支持的所有邏輯運(yùn)算符晒喷。假設(shè)變量A的值為1孝偎,變量B的值為0,則:

運(yùn)算符 描述 示例

&&  邏輯AND運(yùn)算符凉敲。如果兩個(gè)操作數(shù)都不為零衣盾,則條件為真。 (A&&B)結(jié)果為真
||  邏輯OR運(yùn)算符爷抓。如果兩個(gè)操作數(shù)中的任何一個(gè)非零势决,則條件變?yōu)檎妗?(A||B)結(jié)果為真
!   邏輯非運(yùn)算符。用于反轉(zhuǎn)其操作數(shù)的邏輯狀態(tài)蓝撇。如果條件為真果复,則邏輯非運(yùn)算符將為假。 !(A&&B)結(jié)果為真

位運(yùn)算符
按位操作符對(duì)位進(jìn)行操作渤昌,并執(zhí)行逐位操作虽抄。 &,|和^的真值表如下:

p   q   p&q p|q p^q
0   0   0   0   0
0   1   0   1   1
1   1   1   1   0
1   0   0   1   1

假設(shè)A = 60, B = 13; 現(xiàn)在的二進(jìn)制格式耘沼,如下:

A = 0011 1100
B = 0000 1101
-----------------
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~A  = 1100 0011

Go語言支持的位運(yùn)算符,如在下表中所列极颓。 假設(shè)變量A=60,并且變量B=13群嗤,則:

運(yùn)算符 描述 示例

&   如果兩個(gè)操作數(shù)中都存在二進(jìn)制AND運(yùn)算符菠隆,則將其復(fù)制到結(jié)果。  (A&B)結(jié)果為12,也就是0000 1100
|   二進(jìn)制OR運(yùn)算符復(fù)制一個(gè)位狂秘,如果它存在于任一操作數(shù)骇径。  (A
^   二進(jìn)制XOR運(yùn)算符復(fù)制位,如果它在一個(gè)操作數(shù)中設(shè)置者春,但不是在兩個(gè)操作數(shù)中設(shè)置破衔。 (A^B)結(jié)果為49,也就是0011 0001
?   二進(jìn)制左移位運(yùn)算符。左操作數(shù)值向左移動(dòng)由右操作數(shù)指定的位數(shù)钱烟。  A?2結(jié)果為240,也就是1111 0000
?   二進(jìn)制右移運(yùn)算符晰筛。左操作數(shù)值向右移動(dòng)由右操作數(shù)指定位數(shù)。    A?2結(jié)果為15,也就是0000 1111

賦值運(yùn)算符
Go語言支持以下賦值運(yùn)算符:

運(yùn)算符 描述  示例
=   簡(jiǎn)單賦值操作符拴袭,將值從右側(cè)操作數(shù)分配給左側(cè)操作數(shù)    C=A+B读第,就是將A+B的值賦給C
+=  相加和賦值運(yùn)算符,向左操作數(shù)添加右操作數(shù)拥刻,并將結(jié)果賦給左操作數(shù) C+=A相當(dāng)于C=C+A
-=  減去和賦值運(yùn)算符怜瞒,從左操作數(shù)中減去右操作數(shù),并將結(jié)果賦給左操作數(shù)    C-=A相當(dāng)于C=C-A
*=  乘法和賦值運(yùn)算符般哼,它將右操作數(shù)與左操作數(shù)相乘吴汪,并將結(jié)果賦給左操作數(shù)   C=A相當(dāng)于C=CA
/=  除法和賦值運(yùn)算符惠窄,它用右操作數(shù)劃分左操作數(shù),并將結(jié)果分配給左操作數(shù)   C/=A相當(dāng)于C=C/A
%=  模數(shù)和賦值運(yùn)算符漾橙,它使用兩個(gè)操作數(shù)來取模杆融,并將結(jié)果分配給左操作數(shù)    C%=A相當(dāng)于C=C%A
?=  左移和賦值運(yùn)算符    C?=2相當(dāng)于C=C?2
?=  右移和賦值運(yùn)算符    C?=2相當(dāng)于C=C?2
&=  按位和賦值運(yùn)算符    C&=2相當(dāng)于C=C&2
^=  按位異或和賦值運(yùn)算符  C^=2相當(dāng)于C=C^2
=   按位包含OR和賦值運(yùn)算符

其他運(yùn)算符
還有一些其他重要的運(yùn)算符包括sizeof和? :,在Go語言中也是支持的近刘。

運(yùn)算符 描述 示例
& 返回變量的地址 &a將給出變量a的實(shí)際地址擒贸。

  • 指向變量的指針 *a是指向變量a的指針。
    Go語言中的運(yùn)算符優(yōu)先級(jí)

運(yùn)算符優(yōu)先級(jí)確定表達(dá)式中的分組觉渴。這會(huì)影響表達(dá)式的計(jì)算方式介劫。某些運(yùn)算符比其他運(yùn)算符具有更高的優(yōu)先級(jí); 例如,乘法運(yùn)算符比加法運(yùn)算符有更高的優(yōu)先級(jí)案淋。

當(dāng)同級(jí)別的運(yùn)算符出現(xiàn)在同一個(gè)表達(dá)式中座韵,從左到右的順序計(jì)算,比如乘除一起踢京,不管是乘在前面還是除在前面都是從左到右計(jì)算乘誉碴、除運(yùn)算符。加減亦是如此瓣距。

例如:x = 7 + 3 * 2; 這里黔帕,計(jì)算結(jié)果x被分配13,而不是20蹈丸,因?yàn)檫\(yùn)算符 *具有比+有更的優(yōu)先級(jí)成黄,所以它首先乘以3 * 2矛物,然后加上7润脸。

這里,具有最高優(yōu)先級(jí)的運(yùn)算符放在表的頂部环础,具有最低優(yōu)先級(jí)的運(yùn)算符出現(xiàn)在底部荸百。 在表達(dá)式中闻伶,將首先計(jì)算較高優(yōu)先級(jí)運(yùn)算符。

分類  描述  關(guān)聯(lián)性
后綴  ()[]->.++ – 左到右
一元  + -!~++ –(type)*&sizeof 右到左
乘法  */ %    左到右
加法  + - 左到右
移位  ??  左到右
關(guān)系  ?=?=    左到右
相等  ==!=    左到右
按位AND   &   左到右
按位XOR   ^   左到右
按位OR        
邏輯AND   &&  左到右
邏輯OR        
條件  ?:  右到左
分配  =+=-=*=/= %=?= ?= &= ^= =
逗號(hào)  ,   左到右

Golang中只有三種引用類型:slice(切片)够话、map(字典)蓝翰、channel(管道)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市女嘲,隨后出現(xiàn)的幾起案子霎箍,更是在濱河造成了極大的恐慌,老刑警劉巖澡为,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異景埃,居然都是意外死亡媒至,警方通過查閱死者的電腦和手機(jī)顶别,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拒啰,“玉大人驯绎,你說我怎么就攤上這事∧钡” “怎么了剩失?”我有些...
    開封第一講書人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)册着。 經(jīng)常有香客問我拴孤,道長(zhǎng),這世上最難降的妖魔是什么甲捏? 我笑而不...
    開封第一講書人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任演熟,我火速辦了婚禮,結(jié)果婚禮上司顿,老公的妹妹穿的比我還像新娘芒粹。我一直安慰自己,他們只是感情好大溜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開白布化漆。 她就那樣靜靜地躺著,像睡著了一般钦奋。 火紅的嫁衣襯著肌膚如雪座云。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評(píng)論 1 299
  • 那天锨苏,我揣著相機(jī)與錄音疙教,去河邊找鬼。 笑死伞租,一個(gè)胖子當(dāng)著我的面吹牛贞谓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播葵诈,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼裸弦,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了作喘?” 一聲冷哼從身側(cè)響起理疙,我...
    開封第一講書人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎泞坦,沒想到半個(gè)月后窖贤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年赃梧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了滤蝠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡授嘀,死狀恐怖物咳,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蹄皱,我是刑警寧澤览闰,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站巷折,受9級(jí)特大地震影響压鉴,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜盔几,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一晴弃、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧逊拍,春花似錦上鞠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至缨恒,卻和暖如春谴咸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背骗露。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工岭佳, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人萧锉。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓珊随,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親柿隙。 傳聞我的和親對(duì)象是個(gè)殘疾皇子叶洞,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容