<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] ## 變量聲明 變量聲明以關鍵字`var`開頭,變量類型放在變量的后面,行尾無需分號 ~~~ var 變量名 變量類型 ~~~ eg: ~~~ var name string ~~~ ## 批量聲明 每聲明一個變量就需要寫`var`關鍵字會比較繁瑣,go語言中還支持批量變量聲明: ~~~ var ( name string age int is_beauty bool height float64 ) ~~~ ## 變量的初始化 Go語言在聲明變量的時候,會自動對變量對應的內存區域進行初始化操作。每個變量會被初始化成其類型的默認值; 例如: 整型和浮點型變量的默認值為`0`; 字符串變量的默認值為`空字符串`; 布爾型變量默認為`false`; 切片、函數、指針變量的默認為`nil` 在聲明變量的時候為其指定初始值。變量初始化的標準格式如下: ~~~ var 變量名 類型 = 表達式 ~~~ eg: ~~~ var name string = "叫我小叮當啊" ~~~ 一次初始化多個變量 ~~~ var name, age = "叫我小叮當啊", 18 ~~~ ### 類型推導 有時候可以將變量的 類型 省略,這個時候編譯器會根據等號右邊的值來推導變量的類型完成初始化。 ~~~ var name = "叫我小叮當啊" var age = 18 ~~~ ### 短變量聲明 在函數內部,可以使用更簡略的`:=`方式聲明并初始化變量。 ~~~ package main import ( "fmt" ) // 全局變量xdd var xdd = 1 func main() { dx := 10 xdd1 := 200 // 局部變量xdd fmt.Println(xdd, dx , xdd1)//1?10?200 } ~~~ ### 匿名變量 在使用多重賦值時,如果想要忽略某個值,可以使用`匿名變量(anonymous variable)`。 匿名變量用一個下劃線`_`表示 ~~~ package?main import?( "fmt" ) funcxdd()?(string,?int)?{ return "叫我小叮當啊",?18 } funcmain()?{ name,?_?:=?xdd() _,?age?:=?xdd() ????fmt.Println(name,?age) } ~~~ 匿名變量不占用命名空間,不會分配內存,所以匿名變量之間不存在重復聲明。 注意事項: 1. 函數外的每個語句都必須以關鍵字開始(var、const、func等) 2. `:=` 要在函數內部使用,不能使用在函數外。 3. `_`多用于占位,表示忽略值 ## 常量 相對于變量,常量是恒定不變的值,多用于定義程序運行期間不會改變的那些值。 常量的聲明和變量聲明非常類似,只是把`var`換成了`const`,常量在定義的時候必須賦值。 只聲明一個: ~~~ const pi = 3.1415 ~~~ 同時聲明多個: ~~~ const ( pi = 3.1415 e = 2.7182 ) ~~~ const同時聲明多個常量時,如果省略了值則表示和上面一行的值相同。 eg: ~~~ const ( x1 = 100 d2 d3 ) ~~~ 上面示例中,常量`x1`、`d2`、`d3`的值都是100。 ## iota 1.在const關鍵字出現時將被重置為0 2.每新增一行常量聲明將使`iota`計數一次 使用iota能簡化定義,在`定義枚舉`時很有用。 ~~~ const ( n1 = iota //0 n2 //1 n3 //2 n4 //3 ) ~~~ eg: 使用`_`跳過某些值 ~~~ const ( n1 = iota //0 n2 //1 _ n4 //3 ) ~~~ `iota`聲明中間插隊 ~~~ const ( n1 = iota //0 n2 = 100 //100 n3 = iota //2 n4 //3 ) const n5 = iota //0 ~~~ 多個`iota`定義在一行 ~~~ const ( a, b = iota + 1, iota + 2 //1,2 c, d //2,3 e, f //3,4 ) ~~~ 解答: 1.const同時聲明多個常量時,如果省略了值則表示和上面一行的值相同 2.每新增一行常量聲明將使`iota`計數一次 3.由于沒有顯式的常量初始化表達式,根據const聲明塊的“隱式重復前一個非空表達式”機制 以上三點就可以解釋c、d、e、f 的值 ## 值類型和引用類型 值類型:int、float、bool 和 string等; 即`這些類型的變量直接指向存在內存中的值` 當使用等號`=`將一個變量的值賦值給另一個變量時, eg:`j = i`,實際上是在內存中將 i 的值進行了拷貝 引用類型:特指slice、map、channel這三種預定義類型 兩者的主要區別:拷貝操作和函數傳參。
                  <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>

                              哎呀哎呀视频在线观看