在 Go 中,是否有类似 Python 中的“f-string”的特性?我找不到像 f-string 这样的简单解决方案。
#Python
name = 'AlphaGo'
print(f'I am {name}') ##I am AlphaGo
Run Code Online (Sandbox Code Playgroud)
我在网上和评论中找到的最佳替代解决方案是
//Golang
package main
import (
"fmt"
)
func main() {
const name, age = "Kim", 22
fmt.Println(name, "is", age, "years old.") // Kim is 22 years old.
}
Run Code Online (Sandbox Code Playgroud)
但是,这仍然不像f-string那么简单......
fmt.Printf("I am %s\n", name) // I am AlphaGo
Run Code Online (Sandbox Code Playgroud)
Name,使用struct: t := template.Must(template.New("my").Parse("I am {{.Name}}\n"))
t.Execute(os.Stdout, struct{ Name string }{name}) // I am AlphaGo
Run Code Online (Sandbox Code Playgroud)
name,使用map: t2 := template.Must(template.New("my").Parse("I am {{.name}}\n"))
t2.Execute(os.Stdout, map[string]string{"name": name}) // I am AlphaGo
Run Code Online (Sandbox Code Playgroud)
.: t3 := template.Must(template.New("my").Parse("I am {{.}}\n"))
t3.Execute(os.Stdout, name) // I am AlphaGo
Run Code Online (Sandbox Code Playgroud)
全部:
package main
import (
"fmt"
"os"
"text/template"
)
func main() {
name := "AlphaGo"
fmt.Printf("I am %s\n", name)
t := template.Must(template.New("my").Parse("I am {{.Name}}\n"))
t.Execute(os.Stdout, struct{ Name string }{name}) // I am AlphaGo
t2 := template.Must(template.New("my").Parse("I am {{.name}}\n"))
t2.Execute(os.Stdout, map[string]string{"name": name}) // I am AlphaGo
t3 := template.Must(template.New("my").Parse("I am {{.}}\n"))
t3.Execute(os.Stdout, name) // I am AlphaGo
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3523 次 |
| 最近记录: |