<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、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                > 本章主要介紹下`go語言包名規則` [TOC] ## 主包 > 主包:包名為 main,多個go文件可以公用main包,但只有1個文件擁有main() 執行入口函數 ``` // 主包 package main import "fmt" // 入口函數 func main() { fmt.Println("程序執行入口") } ``` ## 定義包 > 我們可以定義自己的包,通常情況,我們的包名是包所在路徑的最后一個目錄名,例如:service/order 路徑,那么我們包名就是order > 如文件`service/order/pay.go` ``` package order // 定義常量 // 支付寶支付類型 const ORDER_TYPE_ALIPAY = 1 // 微信支付類型 const ORDER_TYPE_WECHAT = 2 // 定義PayOrder結構體類型 type PayOrder struct { Id int Price float64 } ``` ## 導入包 > 無論是導入內部包還是github上的第三方包,都是保存在GO工作空間里的(上一章開發環境有介紹),路徑為`$GOPATH/src/` > 導入單個包 ``` import "包名" ``` > 導入多個包 ``` import ( "包名1" "包名2" ) ``` > 例子 ``` package main import ( // 導入我們自定義的包order "tizi/service/order" "fmt" ) func main() { // 使用order包中定義的結構體 o := order.PayOrder{} o.Id = 100 o.Price = 12.6 fmt.Println(o) } ``` ## 引用包成員 > 通過包名和點( . ) 可以引用包里面定義的成員, 成員指的是包里面定義的函數、類型、變量、常量 ``` package main import ( // 導入我們自定義的包order "tizi/service/order" "fmt" ) func main() { // 引用包中常量 fmt.Println(order.ORDER_TYPE_ALIPAY) // 引用包中結構體 o := order.PayOrder{} o.Id = 100 o.Price = 12.6 fmt.Println(o) } ``` ## 包成員的可見性 > 可針對包中的進行控制,如 結構體、結構體字段、函數、變量、常量 > * 首字母大寫,代表public,外部可以引用 > * 首字母小寫,代表private,外部不可以引用 ``` package order // 支付寶支付類型 const ORDER_TYPE_ALIPAY = 1 // 微信支付類型 const ORDER_TYPE_WECHAT = 2 // 定義PayOrder結構體類型 type PayOrder struct { Id int price float64 // 首字母小寫,包外部無法訪問這個字段 } // 首字母小寫,是私有方法,包外部無法引用 func getOrderInfoById(id int) { } ``` ## 包管理工具 (go.mod) > 通常第三方包存放在`$GOPATH/src/`下,相當于所有項目都共享第三方包,但是如果另外一個同事通過git下載項目,但是自己的開發環境 ($GOPATH/src/) 沒有這些第三方包,就無法正常運行程序 > 解決辦法則是使用 **go mod管理第三方依賴包** ``` # 啟用 Go Modules 功能 go env -w GO111MODULE=on # 切換到項目目錄 cd $GOPATH/src/myproject # 初始化 go.mod管理文件 go mod init ``` > go.mod 創建好了后,以后執行以下命令,都會自動分析源碼依賴,安裝缺少的依賴包 ``` // 運行程序 go run main.go // 構建項目 go build ```
                  <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>

                              哎呀哎呀视频在线观看