<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國際加速解決方案。 廣告
                [TOC] ## 函數定義 函數使用`func`關鍵字,具體格式如下: ~~~ func 函數名(參數)(返回值){ 函數體 } ~~~ * 函數名:由字母、數字、下劃線組成。但函數名的第一個字母不能是數字。在同一個包內,函數名也稱不能重名。 * 參數:參數由參數變量和參數變量的類型組成,多個參數之間使用`,`分隔。 * 返回值:返回值由返回值變量和其變量類型組成,也可以只寫返回值的類型,多個返回值必須用`()`包裹,并用`,`分隔。 * 函數體:實現指定功能的代碼塊。 eg: ~~~ func intSum(x int, y int) int { return x + y } ~~~ 函數的參數和返回值都是可選的,不是必須的。 ## 函數的調用 定義了函數之后,我們可以通過`函數名()`的方式調用函數。 ~~~ func main() { sayHello() } ~~~ 注意,調用有返回值的函數時,可以不接收其返回值。 ## 參數 ### 類型簡寫 函數的參數中如果相鄰變量的類型相同,則可以省略類型 eg: ~~~ func intSum(x, y int) int { return x + y } ~~~ ### 可變參數 可變參數是指函數的`參數數量`不固定。Go語言中的可變參數通過在參數名后加`...`來標識。 注意:可變參數通常要作為函數的最后一個參數。 eg: ~~~ func intSum2(x ...int) int { fmt.Println(x) //x是一個切片 sum := 0 for _, v := range x { sum = sum + v } return sum } func main(){ ret1 := intSum2() ret2 := intSum2(10) ret3 := intSum2(10, 20) ret4 := intSum2(10, 20, 30) fmt.Println(ret1, ret2, ret3, ret4) //0 10 30 60 } ~~~ 本質上,函數的可變參數是通過切片來實現的。 ## 返回值 ### 多返回值 Go語言中函數支持多返回值,函數如果有多個返回值時必須用`()`將所有返回值包裹起來。 eg: ~~~ func calc(x, y int) (int, int) { sum := x + y sub := x - y return sum, sub } ~~~ ### 返回值命名 函數定義時可以給返回值命名,并在函數體中直接使用這些變量,最后通過`return`關鍵字返回。 eg: ~~~ func calc(x, y int) (sum, sub int) { sum = x + y sub = x - y return } ~~~ ### 返回值補充 當我們的一個函數返回值類型為slice時,nil可以看做是一個有效的slice,沒必要顯示返回一個長度為0的切片。 ~~~go func someFunc(x string) []int { if x == "" { return nil // 沒必要返回[]int{} } ... } ~~~
                  <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>

                              哎呀哎呀视频在线观看