<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之旅 廣告
                [TOC] 函數是一個固定的程序段,或稱其為一個子程序。可重復調用函數內部代碼塊。 Golang中函數特點: 1. go語言中有3種函數:普通函數、匿名函數(沒有名稱的函數)、方法(定義在struct上 的函數)。 2. go語言中不允許函數重載(overload),也就是說不允許函數同名。 3. go語言中的函數不能嵌套函數,但可以嵌套匿名函數。 4. 函數是一個值,可以將函數賦值給變量,使得這個變量也成為函數。 5. 函數可以作為參數傳遞給另一個函數。 6. 函數的返回值可以是一個函數。 7. 函數調用的時候,如果有參數傳遞給函數,則先拷貝參數的副本,再將副本傳遞給函數。 8. 函數參數可以沒有名稱。 ## 引入 打印9x9乘法口訣表 ```go package main import "fmt" func main() { // i變量作為y軸 for i := 1; i <= 9; i++ { // j變量作為x軸 for j := 1; j <= 9; j++ { // x軸只能小于等于y軸 if j <= i { fmt.Printf("%dx%d=%-2d ", i, j, i*j) } else { // 當大于時,調出for循環。 break } } fmt.Println("") } } ``` 問題一: f:如果某段程序需要重發打印9x9乘法口訣表。可以不可以復制粘貼以上代碼打印呢? a:運行肯定沒有問題。 問題二: f:請看問題一,運行沒有問題。有大量重發代碼,能否優化,如何優化? a:可以優化。將代碼塊搞成函數即可 ## 函數聲明 Go語言中定義函數使用func關鍵字,具體格式如下: ```go /* 函數注釋 */ func 函數名(形參1, 形參n) (返回值類型1, 返回值類型n){ 函數體 return 返回值 } ``` 格式解釋: - `func` :函數聲明關鍵字,固定不變 - `函數名` :由字母、數字、下劃線組成。但函數名的第一個字母不能是數字。**在同一個包內,函數名稱不能重名**。當沒有名稱時,就是匿名函數【可選】 - `參數` :參數由參數變量和參數變量的類型組成,參數變量可以省略,可以有一個參數,也可以有多個,也可以沒有;多個參數之間使用,分隔;多個參數時參數變量要么全寫,要么全省略;如果多個相鄰參數的類型是一樣的,可以只保留同一類型最后一個參數的聲明。【可選】 - `返回值` :返回值由返回值變量和其變量類型組成,返回值變量可以省略,可以有一個返回值,也可以有多個,也可以沒有;多個返回值必須用()包裹,并用,分隔;多個返回值時返回值變量要么全寫,要么全省略。【可選】 - `函數體` :實現指定功能的邏輯。 - `return語句` :函數的終止語句。當遇到 return 語句,下面的語句塊都不執行。 - `函數注釋` :解釋函數的功能及說明函數如何使用。**必須是func上面一行,中間不能有空行**。 【可選】 定義一個打印9x9乘法口訣表 ```go func multTable() { for i := 1; i <= 9; i++ { for j := 1; j <= 9; j++ { if j <= i { fmt.Printf("%dx%d=%-2d ", i, j, i*j) } else { break } } fmt.Println("") } } ``` ## 函數調用 定義了函數之后,未調用函數的話。是不會執行函數體里的語句。例如上面的九九乘法口訣表沒有在main函數或者其他函數調用的話,就不會打印出來的。 函數調用語法,具體格式如下: ```go // 無參無返回值 函數名() // 有參無返回值 函數名(參數1, 參數n) // 無參有返回值 返回值1, 返回值n := 函數名() // 有參有返回值 返回值1, 返回值n := 函數名(參數1, 參數n) ``` 在 main 函數調用上面定義的九九乘法口訣表函數 ```go func main() { fmt.Println("multTable func begin") // 打印9x9乘法口訣表 multTable() fmt.Println("multTable func end") } ```
                  <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>

                              哎呀哎呀视频在线观看