go語(yǔ)言運(yùn)算 go語(yǔ)言運(yùn)算符優(yōu)先級(jí)最高的是

go語(yǔ)言操作符 ^ 和 &^

很多語(yǔ)言都是采用 ~ 作為按位取反運(yùn)算符,Go 里面采用的是 ^ 。

創(chuàng)新互聯(lián)專注于新寧網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供新寧營(yíng)銷型網(wǎng)站建設(shè),新寧網(wǎng)站制作、新寧網(wǎng)頁(yè)設(shè)計(jì)、新寧網(wǎng)站官網(wǎng)定制、微信小程序開(kāi)發(fā)服務(wù),打造新寧網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供新寧網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

如果作為二元運(yùn)算符,^ 表示按位異或,即:對(duì)應(yīng)位相同為 0,相異為 1。

操作符 ^,按位置零,例如:z = x ^ y,表示如果 y 中的 bit 位為 1,則 z 對(duì)應(yīng) bit 位為 0,否則 z 對(duì)應(yīng) bit 位等于 x 中相應(yīng)的 bit 位的值。

對(duì)于有符號(hào)的整數(shù)來(lái)說(shuō),是按照補(bǔ)碼進(jìn)行取反操作的(快速計(jì)算方法:對(duì)數(shù) a 取反,結(jié)果為 -(a+1) ),對(duì)于無(wú)符號(hào)整數(shù)來(lái)說(shuō)就是按位取反

計(jì)算過(guò)程

以3為例? 3在內(nèi)存中補(bǔ)碼為 0*** 0011

取反? ? ? ? ? ? 1*** 1100

-1操作? ? ? ? ? 1*** 1011

除符號(hào)位取反? ? 1*** 0100 結(jié)果為-4

-------------------------------------------

以9為例 9在內(nèi)存中補(bǔ)碼為 0*** 1001

取反? ? ? ? ? ? 1*** 0110

-1操作? ? ? ? ? 1*** 0101

除符號(hào)位取反? ? 1*** 1010 結(jié)果為-10

-------------------------------------------

以-5為例 -5在內(nèi)存中為的補(bǔ)碼為 1*** 1011

為什么呢

-5源碼? ? ? ? ? 1*** 0101

除符號(hào)取反? ? ? 1*** 1010

+1操作? ? ? ? ? 1*** 1011

-------------------------------------------

那么-5取反怎么算

補(bǔ)碼 1***1011取反為 0***0100

因?yàn)榉?hào)位為0,所以是正數(shù)了,正數(shù)的補(bǔ)碼反碼源碼都是一個(gè),所以是4

===================================

再看-1

-1源碼? ? ? ? ? 1*** 0001

除符號(hào)取反? ? ? 1*** 1110

+1操作? ? ? ? ? 1*** 1111

補(bǔ)碼 1*** 1111 取反為 0*** 0000

因?yàn)榉?hào)位為0,所以是正數(shù)了,正數(shù)的補(bǔ)碼反碼源碼都是一個(gè),所以是0

go語(yǔ)言取反輸出的例子看這里

【10】Go語(yǔ)言運(yùn)算符及運(yùn)算符的優(yōu)先級(jí)

運(yùn)算符用于在程序運(yùn)行時(shí)執(zhí)行數(shù)學(xué)或邏輯運(yùn)算。

1.算術(shù)運(yùn)算符

Go 語(yǔ)言的算術(shù)運(yùn)算符如圖,假設(shè)A值為10,B值為20。

2.關(guān)系運(yùn)算符

Go 語(yǔ)言的關(guān)系運(yùn)算符如圖,假設(shè)A值為10,B值為20。

3.邏輯運(yùn)算符

Go 語(yǔ)言的邏輯運(yùn)算符如圖。假定A值為True,B值為False。

4.位運(yùn)算符

位運(yùn)算符對(duì)整數(shù)在內(nèi)存中的二進(jìn)制位進(jìn)行操作。

位運(yùn)算符比一般的算術(shù)運(yùn)算符速度要快,而且可以實(shí)現(xiàn)一些算術(shù)運(yùn)算符不能實(shí)現(xiàn)的功能。如果要開(kāi)發(fā)高效率程序,位運(yùn)算符是必不可少的。

Go 語(yǔ)言的位運(yùn)算符如圖。假定 A = 60,B = 13,其二進(jìn)制數(shù)轉(zhuǎn)換如下。

A = 0011 1100

B = 0000 1101

5.賦值運(yùn)算符

Go 語(yǔ)言的賦值運(yùn)算符如圖。

6.其他運(yùn)算符

Go 語(yǔ)言的其他運(yùn)算符如圖。

運(yùn)算符的優(yōu)先級(jí)

所謂優(yōu)先級(jí),就是當(dāng)多個(gè)運(yùn)算符出現(xiàn)在同一個(gè)表達(dá)式中時(shí),先執(zhí)行哪個(gè)運(yùn)算符。

Go語(yǔ)言”奇怪用法“有哪些

1,go的變量聲明順序是:”先寫變量名,再寫類型名“,此與C/C++的語(yǔ)法孰優(yōu)孰劣,可見(jiàn)下文解釋:

2,go是通過(guò)package來(lái)組織的(與python類似),只有package名為main的包可以包含main函數(shù),一個(gè)可執(zhí)行程序有且僅有一個(gè)main包,通過(guò)import關(guān)鍵字來(lái)導(dǎo)入其他非main包。

3,可見(jiàn)性規(guī)則。go語(yǔ)言中,使用大小寫來(lái)決定該常量、變量、類型、接口、結(jié)構(gòu)或函數(shù)是否可以被外部包含調(diào)用。根據(jù)約定,函數(shù)名首字母小寫即為private,函數(shù)名首字母大寫即為public。

4,go內(nèi)置關(guān)鍵字(25個(gè)均為小寫)。

5,函數(shù)不用先聲明,即可使用。

6,在函數(shù)內(nèi)部可以通過(guò) := 隱士定義變量。(函數(shù)外必須顯示使用var定義變量)

7,go程序使用UTF-8編碼的純Unicode文本編寫。

8,使用big.Int的陷阱:

9,從技術(shù)層面講,go語(yǔ)言的語(yǔ)句是以分號(hào)分隔的,但這些是由編譯器自動(dòng)添加的,不用手動(dòng)輸入,除非需要在同一行中寫入多個(gè)語(yǔ)句。沒(méi)有分號(hào)及只需少量的逗號(hào)和圓括號(hào),使得go語(yǔ)言的程序更容易閱讀。

10,go語(yǔ)言只有一個(gè)循環(huán)結(jié)構(gòu)——for循環(huán)。

11,go里的自增運(yùn)算符只有——“后++”

12,go語(yǔ)言中的slice用法類似python中數(shù)組,關(guān)于slice的詳細(xì)用法可見(jiàn):

13,函數(shù)也是一個(gè)值,使用匿名函數(shù)返回一個(gè)值。

14,函數(shù)閉包的使用,閉包是一個(gè)匿名函數(shù)值,會(huì)引用到其外部的變量。

Go語(yǔ)言基礎(chǔ)語(yǔ)法(一)

本文介紹一些Go語(yǔ)言的基礎(chǔ)語(yǔ)法。

先來(lái)看一個(gè)簡(jiǎn)單的go語(yǔ)言代碼:

go語(yǔ)言的注釋方法:

代碼執(zhí)行結(jié)果:

下面來(lái)進(jìn)一步介紹go的基礎(chǔ)語(yǔ)法。

go語(yǔ)言中格式化輸出可以使用 fmt 和 log 這兩個(gè)標(biāo)準(zhǔn)庫(kù),

常用方法:

示例代碼:

執(zhí)行結(jié)果:

更多格式化方法可以訪問(wèn)中的fmt包。

log包實(shí)現(xiàn)了簡(jiǎn)單的日志服務(wù),也提供了一些格式化輸出的方法。

執(zhí)行結(jié)果:

下面來(lái)介紹一下go的數(shù)據(jù)類型

下表列出了go語(yǔ)言的數(shù)據(jù)類型:

int、float、bool、string、數(shù)組和struct屬于值類型,這些類型的變量直接指向存在內(nèi)存中的值;slice、map、chan、pointer等是引用類型,存儲(chǔ)的是一個(gè)地址,這個(gè)地址存儲(chǔ)最終的值。

常量是在程序編譯時(shí)就確定下來(lái)的值,程序運(yùn)行時(shí)無(wú)法改變。

執(zhí)行結(jié)果:

執(zhí)行結(jié)果:

Go 語(yǔ)言的運(yùn)算符主要包括算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符、賦值運(yùn)算符以及指針相關(guān)運(yùn)算符。

算術(shù)運(yùn)算符:

關(guān)系運(yùn)算符:

邏輯運(yùn)算符:

位運(yùn)算符:

賦值運(yùn)算符:

指針相關(guān)運(yùn)算符:

下面介紹一下go語(yǔ)言中的if語(yǔ)句和switch語(yǔ)句。另外還有一種控制語(yǔ)句叫select語(yǔ)句,通常與通道聯(lián)用,這里不做介紹。

if語(yǔ)法格式如下:

if ... else :

else if:

示例代碼:

語(yǔ)法格式:

另外,添加 fallthrough 會(huì)強(qiáng)制執(zhí)行后面的 case 語(yǔ)句,不管下一條case語(yǔ)句是否為true。

示例代碼:

執(zhí)行結(jié)果:

下面介紹幾種循環(huán)語(yǔ)句:

執(zhí)行結(jié)果:

執(zhí)行結(jié)果:

也可以通過(guò)標(biāo)記退出循環(huán):

--THE END--

網(wǎng)站欄目:go語(yǔ)言運(yùn)算 go語(yǔ)言運(yùn)算符優(yōu)先級(jí)最高的是
轉(zhuǎn)載注明:http://bm7419.com/article30/ddcceso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、標(biāo)簽優(yōu)化、自適應(yīng)網(wǎng)站、網(wǎng)站排名、全網(wǎng)營(yíng)銷推廣、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)