奇思妙想 · 2024年 9月 11日 0

万能格式串

76 次浏览

C语言提供了大量的格式串,记错了很可能导致编译错误或者运行异常。作为喜欢"偷懒"的程序员:

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