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

                # 1.7 變量和聲明 這將是美好的開始和結束,通過寫下`x = 4`,我們查看變量,可以說聲明了一個變量并賦值,但是很不幸,go語言變量聲明和賦值比這更復雜。通過學習一些簡單的示例開始學習變量聲明和賦值。然后在下一章,當我們創建并使用結構體時,我們會深入學習。盡管如此,你需要花一些時間去適應。 你可能會驚訝,為什么會如此復雜,讓我們以一些例子開始學習。 在go中最直接的方式去聲明變量并賦值也是最繁瑣的: ```go package main import ( "fmt" ) func main() { var power int power = 9000 fmt.Printf("It's over %d\n", power) } ``` 在這里我們聲明了一個`int`型變量`power`。默認情況下,go會給`power`賦一個`0`值。整型賦`0`,布爾型賦`false`,字符串型賦`""`等。然后,我們將`9000`賦值給變量`power`。我們也可以將2行代碼合并成一行: `var power int = 9000` 雖然需要輸入很多。go有一種方便簡潔的變量聲明操作符:`:=`,go可以推斷變量的類型: `power := 9000` 這里有一個簡潔的寫法,通過函數也能正常工作: ```go func main() { power := getPower() } func getPower() int { return 9001 } ``` 這里需要謹記,`:=`用于聲明一個變量并給變量賦值。為什么會這樣?因為一個變量不能被聲明2次(不在相同的代碼范圍)。如果你試著運行下面代碼,你將會得到一個錯誤信息。 ```go func main() { power := 9000 fmt.Printf("It's over %d\n", power) // COMPILER ERROR: // no new variables on left side of := power := 9001 fmt.Printf("It's also over %d\n", power) } ``` 編譯器會提示`:=`左邊不是一個新變量。這意味著當我們第一次聲明變量時,我們使用`:=`。但是在隨后的賦值,我們要使用`=`。這有很多意義,但這也隨時提醒著你何時該使用`:=`和`=`。 如果你仔細閱讀錯誤信息,你將發現有多個變量。因為go支持多個變量同時賦值(使用`=`或者`:=`): ```go func main() { name, power := "Goku", 9000 fmt.Printf("%s's power is over %d\n", name, power) } ``` 另外,如果一個變量是新變量也可以使用`:=`進行賦值。例如: ```go func main() { power := 1000 fmt.Printf("default power is %d\n", power) name, power := "Goku", 9000 fmt.Printf("%s's power is over %d\n", name, power) } ``` 盡管變量`power`使用了`:=`,但是編譯器不會在第2次使用`:=`時報錯,因為這里有一個變量`name`,這是一個新的變量,允許使用`:=`。但是你不能改變`power`的類型。它已經被聲明成一個整型,只能賦值整數。 現在,需要知道的最后一件事是,類似包導入,go程序中不能存在未使用的變量,例如: ```go func main() { name, power := "Goku", 1000 fmt.Printf("default power is %d\n", power) } ``` 這段代碼不能編譯,因為變量`name`已經聲明,但是沒有被使用。類似未使用的導入包,可能這會讓你有點失望,但是總的來看,我認為這是為了讓代碼更加的簡潔和具有可讀性。 接下來不在介紹關于變量的聲明和賦值相關內容了。現在,你只需要記住使用`var NAME TYPE`聲明一個變量,并且變量的初始值為它相應類型的零值,使用`NAME := VALUE`聲明一個變量并賦值,使用`NAME = VALUE`去給已經聲明過的變量賦值。 ## 鏈接
                  <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>

                              哎呀哎呀视频在线观看