<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 統一使用了 { { 和 } } 作為左右標簽,可以修改為其他的符號 `beego.BConfig.WebConfig.TemplateLeft = "(("` ` beego.BConfig.WebConfig.TemplateRight = "))"` 但,我們不建議修改,因為系統推薦了的是最優方案。 * ## 基本語法 ``` * #### 使用`.`來訪問當前位置的上下文 * #### 使用`$`來引用當前模板根級的上下文 * #### 使用 $. 引用模板中的根級上下文 ``` ***** * ## 支持go語言的符號,這里只是符號的支持 ``` * #### 字符串:{ { “zhiliao ” } } * #### 原始字符串:{ { `\\zhiliao` } } 不會轉義 * #### 字節類型:{ { ' a' } } --\>97 * #### nil:{ { print nil } } { {nil } }只有nil會報錯:nil is not a command ``` * ## pipeline:可以是上下文的變量輸出,也可以是函數通過管道傳遞的返回值 ``` * #### { } 是上下文的變量輸出,是個pipline * #### { { "0000" | len } } 是函數通過管道傳遞的返回值,是個pipline * #### pipeline 被認為是空的情況,當 pipeline 的值等于: * #### false 或 0 * #### nil 的指針或 interface * #### 長度為 0 的 array, slice, map, string ``` * ## if的使用 ``` * ## if ... end * ## if ... else ... end ``` * ## 嵌套使用 ~~~ 男的成年人準進: ? {{if .A}} ? {{if .C }} ? ? ? 可以進 ? {{else}} ? ? ? 女不能進 ? {{end}} {{else}} ? 未成年不能進 {{end}} ~~~ ## * ## range:對應的內部長度為0時,不會執行,也就是數據為空 * #### 使用 $. 引用模板中的根級上下文 ~~~ 結構體: type student struct { Name string Age int Gender string } 賦值: arr_struct := [3]student{ {Name:"hl",Age:18,Gender:"男"},{Name:"hallen",Age:19,Gender:"男"},{Name:"hallen1",Age:191,Gender:"男"} } c.Data["arr_struct"] = arr_struct c.Data["total"] = 100 ? 前端獲取:先循環數組,在獲取結構體變量,注意是大寫 {{range $v := .arr_struct}} {{$v.Name}} {{$v.Age}} {{$v.Gender}} 第二種: {{ range .arr_struct }} {{.Name }} {{.Age}} {{ $.total}} // 使用 $. 引用模板中的根級上下文 {{end}} ~~~ * #### range也支持else ~~~ {{range .total}} {{else}} ? {{ 0 }} ? ? ? ? ? ? ? ? {{/* 當 .total 為空 或者 長度為 0 時會執行這里 */}} {{end}} ~~~ * ## with:伴隨 #### 用于重定向 pipeline ``` {{.struct_data.Name}} {{.struct_data.Age}} {{.struct_data.Add}} ``` 以上代碼中,如果數據多,每次都要寫.struct_data.太麻煩,所以我們要用with。實例如下 ~~~ {{with .struct_data}} ? {{.Name}} {{end}} ? ? 類似于: {{.struct_data.Name}} ~~~ #### with也支持else 如果值存在就顯示值,不存在就顯示無 ~~~ {{with .struct_data1}} {{.Name}} {{else}} 無 {{end}} ~~~ * ## template:對于模板的分模塊處理很有用處,引入另一個模板文件 #### { {template "模板名" pipeline} } ` { {template "bottom.html"} }` #### 支持直接載入模板文件 * #### { {template "bottom.html" .} } * 注意:** 如果引入的文件也需要獲取動態數據,那{ {template "bottom.html" .} }中必須使用.訪問當前位置的上下文** * ## define:可以用來定義自模板,可用于模塊定義和模板嵌套 ## 定義自己的模板 首先,在視圖文件中定義自己的代碼塊,取名為loop,如下: ~~~ {{define "loop"}} <li>{{.Name}}</li> {{end}} ~~~ 其次在 template調用自定義的模板塊或代碼塊,**如果使用動態數據,得加 `"." ` 上下文** ` {{template "loop" .}}` ~~~ <ul> {{range .Items}} ? ? {{template "loop" .}} ? ? ? ? {{end}} </ul> ~~~ ## 注釋:允許多行文本注釋,不允許嵌套 ~~~ {{/* comment content support new line */}} ~~~ * ## 格式化輸出 * ## print:對應 fmt.Sprint * ## printf:對應 fmt.Sprintf * ## println:對應 fmt.Sprintln ***** #### %c:字符型,可以把輸入的數字按照ASCII碼相應轉換為對應的字符 #### %d:一個十進制數值,基數為10 #### %f:以標準計數法表示的浮點數或者復數值 #### fmt.Printf("%.2f\\n",1.23321) #### .%s:字符串。輸出字符串中的字符直至字符串中的空字符(字符串以'\\0'結尾,這個'\\0'即空字符) #### %t:以true或者false輸出的布爾值 #### %T:查看類型 #### v%:自動匹配類型輸出,適用于大多數類型 ***** ## fmt.Sprint和fmt.Print的區別: #### Print有打印,Sprint沒有打印,但是可以返回結果 ## 變量可以使用符號 | 在函數間傳遞 `{ {.Name | printf "%s"} }` * ## 括號 ` { {printf "nums is %s %d" (printf "%d %d" 1 2) 3} }` * ## and: * #### 會逐一判斷每個參數,將返回第一個為空的參數,否則就返回最后一個非空參數 * #### { {and .X .Y .Z} } * #### 只要有一個為空,則整體為空,如果都不為空,則返回最后一個 * ## or: * #### 會逐一判斷每個參數,將返回第一個非空的參數,否則就返回最后一個參數 * #### { {or .X .Y .Z} } * #### 只要有一個不為空,則返回第一個不為空的,否則返回空 * ## call:可以調用函數,并傳入參數 若在前端生成一個函數 ``` c.Data["myfunc_data"]=MyFunc //調用以下的自定義函數,不能加()。 Function MyFunc() string{ return "This is my Function" } ``` 在模板中這樣調用 ``` { {call .myfunc_data} } ``` * #### { {call .Field .Arg1 .Arg2} } * #### 調用的函數需要返回 1 個值 或者 2 個值,返回兩個值時,第二個值用于返回 error 類型的錯誤。返回的錯誤不等于 nil 時,執行將終止。 * ## index:讀取指定類型對應下標的值 * ### 支持 map, slice, array, string * 如果是map獲取指定數據中key的值;如果是字符串和數組是角標arr[0](0,1...)指定的值。 * 中文漢字用角標取值會顯示Asc值。 * ##### this.Data\["Maps"\] = map\[string\]string{"name": "Beego"} * ##### { {index .Maps "name"} } * ## len:返回對應類型的長度 * #### 支持類型:map, slice, array, string, chan * #### { { .Content|len } } * ## not:返回輸入參數的否定值,也就是取反。true -> false * `{{not 1}}`值為false * ## urlquery: * #### 有些符號在URL中是不能直接傳遞的,如果要在URL中傳遞這些特殊符號,那么就要使用他們的編碼了。 * #### `urlquery "http://www.baidu.com"` 轉碼后返回:http%3A%2F%2F[www.baidu.com](www.baidu.com) * #### %后面的就是字符的16近制的字符碼 * ## eq / ne / lt / le / gt / ge * #### eq:等于 * #### ne:不等于 * #### lt:小于 * #### le:小于等于 區別于lte * #### gt:大于 * #### ge:大于等于 區別于gte * #### eq 和其他函數不一樣的地方是,支持多個參數,和下面的邏輯判斷相同 100是否小于200 ``` * #### { {if eq true .Var1 .Var2 .Var3} }{ {end} } * #### { {if lt 100 200} }{ {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>

                              哎呀哎呀视频在线观看