<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                常量使用關鍵字 const 定義,用于存儲不會改變的數據。 存儲在常量中的數據類型只可以是布爾型、數字型(整數型、浮點型和復數)和字符串型。 常量的定義格式:`const identifier [type] = value`,例如: ~~~ const Pi = 3.14159 ~~~ 在 Go 語言中,你可以省略類型說明符?`[type]`,因為編譯器可以根據變量的值來推斷其類型。 * 顯式類型定義:?`const b string = "abc"` * 隱式類型定義:?`const b = "abc"` 一個沒有指定類型的常量被使用時,會根據其使用環境而推斷出它所需要具備的類型。換句話說,未定義類型的常量會在必要時刻根據上下文來獲得相關類型。 ~~~ var n int f(n + 5) // 無類型的數字型常量 “5” 它的類型在這里變成了 int ~~~ 常量的值必須是能夠在編譯時就能夠確定的;你可以在其賦值表達式中涉及計算過程,但是所有用于計算的值必須在編譯期間就能獲得。 * 正確的做法:`const c1 = 2/3` * 錯誤的做法:`const c2 = getNumber()`?// 引發構建錯誤:?`getNumber() used as value` **因為在編譯期間自定義函數均屬于未知,因此無法用于常量的賦值,但內置函數可以使用,如:len()。** 數字型的常量是沒有大小和符號的,并且可以使用任何精度而不會導致溢出: ~~~ const Ln2= 0.693147180559945309417232121458\ 176568075500134360255254120680009 const Log2E= 1/Ln2 // this is a precise reciprocal const Billion = 1e9 // float constant const hardEight = (1 << 100) >> 97 ~~~ 根據上面的例子我們可以看到,反斜杠?`\`?可以在常量表達式中作為多行的連接符使用。 與各種類型的數字型變量相比,你無需擔心常量之間的類型轉換問題,因為它們都是非常理想的數字。 不過需要注意的是,當常量賦值給一個精度過小的數字型變量時,可能會因為無法正確表達常量所代表的數值而導致溢出,這會在編譯期間就引發錯誤。另外,常量也允許使用并行賦值的形式: ~~~ const beef, two, c = “meat”, 2, “veg” const Monday, Tuesday, Wednesday, Thursday, Friday, Saturday = 1, 2, 3, 4, 5, 6 const ( Monday, Tuesday, Wednesday = 1, 2, 3 Thursday, Friday, Saturday = 4, 5, 6 ) ~~~ 常量還可以用作枚舉: ~~~ const ( Unknown = 0 Female = 1 Male = 2 ) ~~~ 現在,數字 0、1 和 2 分別代表未知性別、女性和男性。這些枚舉值可以用于測試某個變量或常量的實際值,比如使用 switch/case 結構 (第 5.3 節). 在這個例子中,`iota`?可以被用作枚舉值: ~~~ const ( a = iota b = iota c = iota ) ~~~ 第一個?`iota`?等于 0,每當?`iota`?在新的一行被使用時,它的值都會自動加 1;所以?`a=0, b=1, c=2`?可以簡寫為如下形式: ~~~ const ( a = iota b c ) ~~~ (?**譯者注:關于 iota 的使用涉及到非常復雜多樣的情況,這里作者解釋的并不清晰,因為很難對 iota 的用法進行直觀的文字描述。如希望進一步了解,請觀看視頻教程?[《Go編程基礎》](https://github.com/Unknwon/go-fundamental-programming)?[第四課:常量與運算符](https://github.com/Unknwon/go-fundamental-programming/blob/master/lectures/lecture4.md)**?) `iota`?也可以用在表達式中,如:`iota + 50`。在每遇到一個新的常量塊或單個常量聲明時,?`iota`?都會重置為 0(?**簡單地講,每遇到一次 const 關鍵字,iota 就重置為 0**?)。 當然,常量之所以為常量就是恒定不變的量,因此我們無法在程序運行過程中修改它的值;如果你在代碼中試圖修改常量的值則會引發編譯錯誤。 引用?`time`?包中的一段代碼作為示例:一周中每天的名稱。 ~~~ const ( Sunday = iota Monday Tuesday Wednesday Thursday Friday Saturday ) ~~~ 你也可以使用某個類型作為枚舉常量的類型: ~~~ type Color int const ( RED Color = iota // 0 ORANGE // 1 YELLOW // 2 GREEN // .. BLUE INDIGO VIOLET // 6 ) ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看