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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] >[success]## **3包的引出** 1)在實際的開發中,我們往往需要在不同的文件中,去調用其它文件的定義的函數,比如main.go .中,去使用utils.go文件中的函數,如何實現? -》 包 2)現在有兩個程序員共同開發\-一個Go項目.程序員xiaoming希望定義函數Cal .程序員xiaoqiang也想定義函數也叫Cal。 兩個程序員為此還吵了起來怎么辦?-》包 >[success]### **3.1包的基本概念** Golang的包概念和Python一樣,把相同功能的代碼都放到一個目錄,稱之為包,包可以被其它包引用,main包(main.go)是用來生成可執行文件,每個程序只有一個main包,而在main包里只有一個main函數,包的主要用途是提供代碼可復用性,如果某個包的函數或者變量需要被調用那么函數或者變量名首字母必須是大寫的,而不是小寫。 >[success] ### **3.2包的案例** GOPATH是從src開始導入的(所以不用導入src) 調用函數是包名 **.** 函數名 :-: ![](https://img.kancloud.cn/5f/87/5f87d5a2d9325145e90fe8470fd6dcde_874x720.png) :-: ![](https://img.kancloud.cn/36/d3/36d3d9b0f18b6a26d729f56634a14483_809x720.png) <br> <br> >[success]### **3.3包的別名** ![](https://img.kancloud.cn/80/8d/808d1022f5af8037dd56541916146bc7_1280x481.png) <br> <br> >[success]### **3.4包的細節** 同一個包名下不能有相同的函數名 如下報錯,因為在utils.go文件下也有相同的函數名 ![](https://img.kancloud.cn/1c/e9/1ce9e1ad8ade68075e9ba03c3d7c490b_993x720.png) <br> <br> >[success]## **4 函數return語句** ![](https://img.kancloud.cn/0a/d7/0ad78a5a771220960f00330297e61859_1280x313.png) <br> <br> ### **多返回值:** ![](https://img.kancloud.cn/e8/81/e881199a0982a5b052e7a4f0adc54de2_1280x609.png) <br> <br> **只接受一個返回值(_)來忽略** ![](https://img.kancloud.cn/d4/5f/d45fe0547430d88bac5a98a1debda952_1280x578.png) <br> <br> >[success] ### **4.1函數遞歸調用** **說名:函數體內又調用了本身,稱之為遞歸調用** ![](https://img.kancloud.cn/07/ad/07ad96e60342305fe0bda12b5675c374_1280x699.png) ![](https://img.kancloud.cn/fb/f3/fbf3528e1c7a2db84332e1abbeeb15dc_1256x720.png) <br> <br> >[success] ### **4.2遞歸調用的原則** 1)執行一個函數時,就創建一個新的受保護的獨立空間(新函數棧) 2)函數的局部變量是獨立的,不會相互影響 3)遞歸必須向退出遞歸的條件逼近,否則就是無限遞歸,死龜了:) 4)當一個函數執行完畢,或者遇到return,就會返回,遵守誰調用,就將結果返回 給誰,同時當函數執行完畢或者返回時,該函數本身也會被系統銷毀 >[success] ## **5 init函數** >[success] ### **5.1基本介紹:** 每一個包都有一個init函數,該函數在main函數之前執行, >[success] ### **5.2案例演示** ![](https://img.kancloud.cn/9c/ad/9cadcc620a53c4b5bad15c71a7f549b6_1280x500.png) **1)go中在當前文件中的執行順序,全局變量 ?---》init函數 ---》main函數** **代碼如下:** ![](https://img.kancloud.cn/66/55/66559ac7477728a7fec6193fe9cb635e_912x720.png) **2)如果引入其他文件的全局變量和init函數,那么執行順序如下:** ![](https://img.kancloud.cn/1e/d8/1ed8970effbf307db51c0442049e6e1b_1280x480.png)
                  <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>

                              哎呀哎呀视频在线观看