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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                Gohub 項目主要提供的是 Web 服務。且具備命令行功能。我們會將 Web 服務功能封裝到子命令 serve 里。 除了 serve 命令,我們還會有以下命令: 1. key 命令生成 app key 2. make 命令 3. seed 數據填充 4. migrate 數據庫遷移 5. cache 緩存處理 命令的層級是三層結構,超過三層我們會使用標示 (flag) 來實現。 三層結構里, 樹狀結構的最頂層是 APPNAME ,在我們這個項目中是 gohub,用來組織子命令用的。上面羅列的是第二層和第三層命令。 ## 命令基礎 ### 1. 命令的組成 命令的四個基本組成部分: * 主命令(APPNAME):命令最頂層; * 命令(Command):就是需要執行的操作; * 參數(Arg):參數即要操作的對象; * 選項(Flag):用以調整命令的行為。 拼在一起: ~~~ $ APPNAME COMMAND ARG --FLAG(-f) ~~~ 下面示例中,`server`是一個(子)命令,`--port`是選項: ~~~ $ hugo server --port=1313 ~~~ 下面示例中,`clone`是一個(子)命令,`URL`是參數,`--bare`是選項: ~~~ $ git clone URL --bare ~~~ ### 2. 子命令 一個命令可以有多個子命令,如下面: ~~~ $ gohub migrate rollback $ gohub make factory ~~~ migrate 和 make 都有各自的子命令。 ### 3. 長選項和短選項 定義選項時,我們可以為其定義簡寫版本,一般稱為短選項。 短選項是長選項的簡寫,使用`-`,而長選項是`--`。如: ~~~php $ gohub serve --port=1313 ~~~ 等同于: ~~~php $ gohub serve -p=1313 ~~~ ### 4. 底層包的實現機制 使用命令行工具包時,要知道他們其實都是在圍繞`os.Args`參數在做功能。萬變不離其宗,不要被工具限制住,當有特殊需求工具無法滿足時候,可以在 os.Args 上做文章。 ### 5. 終端輸出 命令行出錯時,除了日志記錄外,還需要有提示反饋給用戶。 雖然本地開發時,日志會打印到終端,但是**線上環境日志只記錄到文件**,所以我們所有命令出錯時,都應該使用命令行輸出提示給用戶。 ### 6. 使用英文輸出 輸出提示要使用英文,雖然中文是我們的母語作為提示會更易懂,但是要考慮到很多生產服務器上并沒有設置中文支持,有時會**輸出亂碼**。 所以盡量使用英文提示以適應更多場景。
                  <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>

                              哎呀哎呀视频在线观看