javascript/typescript中使用string.format

javascript中没有大部分语言中都有的string.format方法,但是通过引入第三方库就可以支持了,比如sprintf-js

其用法如下

用法一

类似Go里面的fmt.sprintf用法。

这也是类似c/c++这样的语言里的用法,用%d表示数字,%s表示字符串:

比如Go代码

s := fmt.sprintf("数字:%d 字符串:%s", 123, "javascript")

同样功能的javascript代码为

const s = vsprintf('数字:%d 字符串:%s', [123, 'javascript']);

输出都为

数字:123 字符串:javascript

用法二

类似C#里面的string.format用法:

C#的用法比较特别,其用{0}表示传入的第一个参数,依次类推。但是比较灵活,因为同样的占位符。比如{0}可以出现多次,也能以任意顺序出现。

比如C#代码

var s = string.Format("字符串在前{1} 字符串再出现一次{1} 数字{0}", 123, "javascript");

同样功能的javascript代码为:

不一样的是,这里索引从1开始。

const s = sprintf('字符串在前%2$s 字符串再出现一次%2$s 数字%1$d', 123, 'javascript');

输出都为

字符串在前javascript 字符串再出现一次javascript 数字123
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章