亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Go語言中的運算符

發布時間:2020-04-08 19:32:15 來源:網絡 閱讀:354 作者:小韓說課 欄目:編程語言

1 概述

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

2 算術運算

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

幾個細節,需要留意一下。

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

3 字符串連接運算 +

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

"Hello" + " " + "Hank!"

4 關系運算

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

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

5 邏輯運算

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

用來判斷多個關系是否成立。運算結果為:
&&
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就是指針類型 值為一個類似規則的地址,就是一個號碼,標識內存的一個空間區域
    fmt.Println(*pv)// 42,通過地址獲取對應的變量值
    *pv ++ // 通過地址更改對應變量
    fmt.Println(*pv, v)// 42 42變量和指針操作的同一變量(內存地址)。

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

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

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

7 位運算

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

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

8 賦值運算

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

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

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

9 運算符優先級

由高到低,列表如下:

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

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

10 類型轉換

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

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永州市| 东山县| 招远市| 工布江达县| 西藏| 大港区| 霍林郭勒市| 台州市| 兴隆县| 南溪县| 青龙| 缙云县| 临武县| 德昌县| 岢岚县| 虹口区| 嘉善县| 武义县| 保定市| 米易县| 绥阳县| 泗水县| 驻马店市| 临安市| 高尔夫| 博乐市| 永善县| 平度市| 阿荣旗| 忻城县| 保亭| 平乐县| 兰溪市| 汶川县| 双鸭山市| 吉木萨尔县| 镇平县| 静海县| 甘南县| 巴塘县| 曲周县|