如何 trim Go 模板中的空格

How to trim white spaces in Go templates

我想 trim Go 模板中的空格。我该怎么做?

示例:

 {{ $title = " My Title of the product " }} 
 
 // Print the trim string here
 <h1>{{ $title }}</h1>

如果您想将“我的产品标题”改为 MyTitleoftheproduct,您可以使用该功能

package main

import (
    "fmt"
     "strings"
     "strconv"
)

func main(){
    s:= "a b c d "
    n:=trimW(s)
    fmt.Println(n)
    //abcd
}

func trimW(l string) string {
    var c []string
    if strings.Contains(l, " ") {
         
        for _, str := range l {
             
            if strconv.QuoteRune(str) != "' '" {
                c =append(c,string(str))
            }
         
        }
        l = strings.Join(c,"")
    }
    return l
}

没有内置任何东西可以 trim 在模板中为您串接“管道”,但是您可以使用 strings.TrimSpace function inside a template if you provide it to that template with the Funcs 方法。

var str = `{{ $title := " My Title of the product " }}

// Print the trim string here
<h1>{{ trim $title }}</h1>`

t := template.Must(template.New("t").Funcs(template.FuncMap{
    "trim": strings.TrimSpace,
}).Parse(str))

https://play.golang.org/p/g0T7shJbDVw.