C语言提供了大量的格式串,记错了很可能导致编译错误或者运行异常。作为喜欢"偷懒"的程序员:
- C语言没有那么灵活,格式串需要严格遵循变量类型(一些隐式转换的除外)。
- ObjC基本类型格式串follow C语言,为对象类型引入了%@格式串,只要类实现了description()函数返回字符串。
- C++ iostream定义了基本类型默认输出形式,cout不需要特别指定格式(除非指定特定格式)。
- 更高级的编程语言,如Java/C#/Python/JS就更不在话下,格式串只是可选的行为。
- Go也提供多种格式串,但也提供%v格式可以按默认格式输出基本类型和结构体。
%v: 代表数值value. - PHP 提供了内置函数var_dump函数可以方便输出变量基本信息,不需要特别使用格式串。
- Rust 提供 {:#?} 输出任何非基本类型的类JSON值。
- Python 类实现 __str__ 方法可作为对象默认输出对应的字符串。
