Go語言中的運算符

1 概述

Go語言提供了,算術,關系,邏輯,位,指針,賦值運算符。本篇整體說明一下。

雞東網站建設公司創(chuàng)新互聯(lián)公司,雞東網站設計制作,有大型網站制作公司豐富經驗。已為雞東上1000+提供企業(yè)網站建設服務。企業(yè)網站搭建\外貿網站制作要多少錢,請找那個售后服務好的雞東做網站的公司定做!

2 算術運算

  • + 相加
  • - 相減
  • * 相乘
  • / 相除
  • % 求余
  • ++ 自增
  • -- 自減

幾個細節(jié),需要留意一下。

  • 整數(shù)與浮點數(shù)進行運算,會將整數(shù)轉化為浮點數(shù),再運算。
  • 兩個整數(shù)相除,結果是整數(shù),取整數(shù)部分。5/3 結果會是 1。
  • 求余,如果被除數(shù)或除數(shù)存在負數(shù),那么余數(shù)與被除數(shù)保持一致。此處是求余不是取模。
  • ++/--,不區(qū)分前后,只有變量后的語法,就是 v++。同時++/--構成語句而不是表達式,意味著不能直接賦值。

3 字符串連接運算 +

+運算符,也可以完成字符串的連接運算。

"Hello" + " " + "Hank!"

4 關系運算

  • == 檢查兩個值是否相等
  • != 檢查兩個值是否不相等
  • \> 檢查左邊值是否大于右邊值
  • < 檢查左邊值是否小于右邊值
  • \>= 檢查左邊值是否大于等于右邊值
  • <= 檢查左邊值是否小于等于右邊值

關系運算時用于判斷兩個運算數(shù)的關系是否成立。返回布爾值。

5 邏輯運算

  • && 邏輯與,參與運算的兩個關系必須同時成立,結果為true,否則為false
  • || 邏輯或,參與運算的兩個關系成立一個(或都成立)結果為true,全部關系為false,結果為false。
  • ! 邏輯非,用于取反某個關系。非真既假,非假既真。只有一個運算數(shù)參與運算

用來判斷多個關系是否成立。運算結果為:
&&
true && true = true
true && false = false
false && true = false
false && false = false
||
true || true = true
true || false = true
false || true = true
false || false = false
!
!true = false
!false = true

6 指針運算

  • & 取得變量的內存地址。pv := &v
  • * 獲取指針地址對應的值。*pv
    示例為:
    v:=42
    pv:=&v
    fmt.Printf("%T(%v)", pv, pv)// *int 0xc000048b68,*int就是指針類型 值為一個類似規(guī)則的地址,就是一個號碼,標識內存的一個空間區(qū)域
    fmt.Println(*pv)// 42,通過地址獲取對應的變量值
    *pv ++ // 通過地址更改對應變量
    fmt.Println(*pv, v)// 42 42變量和指針操作的同一變量(內存地址)。

    Go語言的指針不可以操作。不能執(zhí)行偏移這類的操作.

理解指針的幾個概念:
變量:標識符與值(內存中存儲空間)引用。
地址:內存中存儲空間的位置(門牌號)
指針:一種類型,其值為某個地址。

一個數(shù)據(jù)(變量),我們可以通過變量標識符找到他。也可以將他的地址記錄下來,通過這個地址找到他。能夠記錄地址的數(shù)據(jù)類型就是指針。指針通過&運算符來獲取變量的地址。

7 位運算

  • & 按位與運算
  • | 按位或運算
  • ^ 按位異或運算
  • << 左移運算符,由"<<"右邊的數(shù)指定移動的位數(shù),高位丟棄,低位補0。左移n位就是乘以2的n次方。
  • \>> 右移運算符,">>"右邊的數(shù)指定移動的位數(shù),低位舍棄,高位補0。右移n位就是除以2的n次方。

用于運算構成整數(shù)的每個二進制位,就是位上0,1的運算。

8 賦值運算

  • = 簡單的賦值運算符,將一個表達式的值賦給一個左值
  • += 相加后再賦值
  • -= 相減后再賦值
  • *= 相乘后再賦值
  • /= 相除后再賦值
  • %= 求余后再賦值
  • <<= 左移后賦值
  • \>>= 右移后賦值
  • &= 按位與后賦值
  • ^= 按位異或后賦值
  • |= 按位或后賦值

變量 = 表達式
=左邊的變量,稱之為左值。通常只能是變量。
=右邊的表達式,稱之為右值。表達式是右值。

自賦值運算,一些運算符,可以與賦值運算符結合,完成快捷自運算賦值,就是上面的+=....|=,邏輯是:
v += 1 相當于 v = v + 1
其他的邏輯相同!

9 運算符優(yōu)先級

由高到低,列表如下:

  • ^ !
  • * / % << >> & &^
  • + - | ^
  • == != < <= >= >
  • <-
  • &&
  • ||

建議使用()小括號,明確調整優(yōu)先級。

10 類型轉換

類型不同的數(shù)據(jù)不能完成運算。如果需要,則要將類型轉換為一致的類型。
自動轉換,有些轉換Go語言自動完成,例如 5/4.0 5整型會被自動轉換為浮點數(shù)。
強制轉換,使用語法 type(數(shù)據(jù)) 的形式轉換,例如:float64(5)。

Go語言對類型要求比較嚴格,類型可以相互轉換的場景不多,主要集中在數(shù)值上。就是要類型兼容,才可以轉換。

完!
原文出自:小韓說課
微信關注:小韓說課
Go語言中的運算符

標題名稱:Go語言中的運算符
分享URL:http://bm7419.com/article20/jdsgjo.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供定制網站、微信小程序、網站收錄、微信公眾號、虛擬主機手機網站建設

廣告

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

成都app開發(fā)公司