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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 基本語法 * * * * * --: 作者:jsh 時間:2018年8月30日 * * * * * ### 常量 常量使用關鍵字 const 定義,用于**存儲不會改變的數據**。 存儲在常量中的數據類型只可以是布爾型、數字型(整數型、浮點型和復數)和字符串型。 ~~~ const PI = 3.1415926 ~~~ 在 Go 語言中,你可以省略類型說明符 [type],因為編譯器可以根據變量的值來推斷其類型。 * 顯式類型定義: const b string = "abc" * 隱式類型定義: const b = "abc" 常量的值必須是能夠在編譯時就能夠確定的;你可以在其賦值表達式中涉及計算過程,但是所有用于計算的值必須在編譯期間就能獲得。 * 正確的做法:const c1 = 2/3 * 錯誤的做法:const c2 = cc() // const initializer cc() is not a constant **因為在編譯期間自定義函數均屬于未知,因此無法用于常量的賦值,但內置函數可以使用,如:len()。** 當常量定義多個,可以定義一個常量組。例如: ~~~ const ( a = "123" b = 456 c = len(demo) ) ~~~ ### 變量 聲明變量的一般形式是使用 var 關鍵字:var identifier type。 ~~~ var a int var b boolean var c string ~~~ 聲明變量組 ~~~ var ( a int b boolean c string ) ~~~ 當一個變量被聲明之后,系統自動賦予它該類型的零值:int 為 0,float 為 0.0,bool 為 false,string 為空字符串,指針為 nil。記住,所有的內存在 Go 中都是經過初始化的。 變量的命名規則遵循駱駝命名法,即首個單詞小寫,每個新單詞的首字母大寫,例如:numShips 和 startDate。但如果你的全局變量希望能夠被外部包所使用,則需要將首個單詞的首字母也大寫 變量作用域:一個變量(常量、類型或函數)在程序中都有一定的作用范圍,稱之為作用域。如果一個變量在函數體外聲明,則被認為是全局變量,可以在整個包甚至外部包(被導出后)使用,不管你聲明在哪個源文件里或在哪個源文件里調用該變量。 Go語言中,使用大小寫來決定常量、變量、類型、接口、結構體或函數,是否可以被外部包所調用 根據約定: * 函數名首字母 小寫即為private * 函數名首字母 變量賦值 ~~~ var a int // 聲明變量 func main() { a = 10 // 變量賦值 } ~~~ ### 選擇結構 思考:三種結構? Go語言中if....else....語法如下: ~~~ if 表達式 { 條件成立---輸出 } else { 條件不成立--輸出 } ~~~ ~~~ // 流程控制 a := 10 if a := 1; a < 2 { fmt.Println(a) // 變量作用域 考慮此時變量會輸出多少 } ~~~ switch.......case......使用 ~~~ func chose(i int) (y string){ switch i { case 1: return "a" case 2: return "a" case 3: return "b" fallthrough default: return "c" } } ~~~ fallthrough作用 :指定fallthrough 是繼續檢查sencond Go語言提供了標簽的使用 標簽的名稱是大小寫敏感的,為了提升可讀性,一般建議使用全部大寫字母 ~~~ LABEL1: for { for i := 0; i <= 10; i++ { a++ fmt.Println(a) break LABEL1 } } ~~~ ~~~ LABEL1: for { for i := 0; i <= 10; i++ { a++ fmt.Println(a) go to LABEL1 } } ~~~ ### 循環結構 Go語言與其它語言一樣,也提供了for的使用 ~~~ for 初始化語句; 條件語句; 修飾語句 {} ~~~ ~~~ package main import "fmt" func main() { for i := 0; i < 5; i++ { fmt.Printf("This is the %d iteration\n", i) } } ~~~ 無限循環 ~~~ for { for i := 0; i <= 10; i++ { a++ fmt.Println(a) break LABEL1 } } ~~~ for...range循環 ~~~ m1 := map[int]string{1: "a", 2: "b", 3: "c", 4: "d", 5: "e"} m2 := make(map[string]int) for k, v := range m1 { m2[v] = k } ~~~ 循環結構學會了吧,那就寫一個乘法口訣表吧!!! break和continue ~~~ for { i = i - 1 fmt.Printf("The variable i is now: %d\n", i) if i < 0 { break } } ~~~ 因此每次迭代都會對條件進行檢查(i < 0),以此判斷是否需要停止循環。如果退出條件滿足,則使用 break 語句退出循環。 思考:以下程序輸出什么: ~~~ func main() { for i:=0; i<3; i++ { for j:=0; j<10; j++ { if j>5 { break } print(j) } print(" ") } } ~~~ 一個 break 的作用范圍為該語句出現后的最內部的結構,它可以被用于任何形式的 for 循環(計數器、條件判斷等)。但在 switch 語句中,break 語句的作用結果是跳過整個代碼塊,執行后續的代碼。 ~~~ func main() { for i := 0; i < 10; i++ { if i == 5 { continue } print(i) print(" ") } } ~~~ 關鍵字 continue 忽略剩余的循環體而直接進入下一次循環的過程,但不是無條件執行下一次循環,執行之前依舊需要滿足循環的判斷條件。 課后作業: 請輸出: ~~~ * *** ***** ******* ********* ******* ***** *** * ~~~
                  <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>

                              哎呀哎呀视频在线观看