为了账号安全,请及时绑定邮箱和手机立即绑定

Go中字符串文字中的变量捕获?

Go中字符串文字中的变量捕获?

Go
三国纷争 2021-07-05 08:04:36
在 Ruby 中,我可以直接在字符串文本中捕获变量,例如bash.SRCDIR  =   "aaa"DSTDIR  =   "bbb"puts "SRCDIR = #{SRCDIR}"puts "DSTDIR = #{DSTDIR}"这是一个简单而微小的功能,但让它感觉像一个 shell 脚本非常好。如果我必须编写一个复杂的 shell 脚本,这会很有帮助,因为这消除了替换、连接和格式表达式的需要。Go有这样的东西吗?如果有,如何使用?
查看完整描述

3 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

不是没有格式化字符串;通常的方法是使用fmt.Printf或fmt.Sprintf:


srcdir := "aaa"

dstdir := "bbb"


// separated out Sprintf and Println for clarity

fmt.Println(fmt.Sprintf("SRCDIR = %s", srcdir))

fmt.Println(fmt.Sprintf("DSTDIR = %s", dstdir))


// could be shortened if you're just printing them

fmt.Printf("SRCDIR = %s\n", srcdir)

fmt.Printf("DSTDIR = %s\n", dstdir)


查看完整回答
反对 回复 2021-07-19
?
波斯汪

TA贡献1811条经验 获得超4个赞

韦斯说的。我应该补充一点,如果您使用自定义类型,您可以定义一个带有签名的方法String() string(本质上使它们满足fmt.Stringer接口),然后将这些类型的实例直接传递给fmt需要字符串的包函数,比如fmt.Println(). 可以在“Effective Go”中找到对此的简单介绍。


查看完整回答
反对 回复 2021-07-19
  • 3 回答
  • 0 关注
  • 279 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信