直接使用println!宏会报错

struct Coordinate {x: u32,y: u32,
}fn main() {let coor = Coordinate {x: 1,y: 5,};println!("coordinate is {}", coor);
}
error[E0277]: `Coordinate` doesn't implement `std::fmt::Display`

报错原因: println!宏通过trait `std::fmt::Display`确定输出的具体格式。自定义的struct因为没有实现Display,输出格式不确定,所以会报错。

方法1:添加attribute #[derive(Debug)],并用{:?}约束输出格式

#[derive(Debug)]
struct Coordinate {x: u32,y: u32,
}fn main() {let coor = Coordinate {x: 1,y: 5,};println!("coordinate is {:?}", coor);
}
coordinate is Coordinate { x: 1, y: 5 }

使用{:#?}有更好的输出效果,提高可读性

coordinate is Coordinate {x: 1,y: 5,
}

方法2: 使用dbg!宏

dbg!宏会获得表达式的所有权,print出dbg!宏所在的文件与行信息,表达式的结果值,并最后返回该结果值的所有权

#[derive(Debug)]
struct Coordinate {x: u32,y: u32,
}fn main() {let coor = Coordinate {x: 1,y: 5,};dbg!(&coor);
}
[src\main.rs:13] coor = Coordinate {x: 1,y: 5,
}

///测试大于10个字的行数大于10行

///测试大于10个字的行数大于10行

///测试大于10个字的行数大于10行

///测试大于10个字的行数大于10行

///测试大于10个字的行数大于10行

///测试大于10个字的行数大于10行

///测试大于10个字的行数大于10行

///测试大于10个字的行数大于10行

///测试大于10个字的行数大于10行

///测试大于10个字的行数大于10行

error[E0277]: Rust语言如何print struct内容?相关推荐

  1. Rust 语言中文网络内容建设

    本文时间:2018-11-21,作者: krircc, 简介:天青色 欢迎向Rust中文社区投稿,投稿地址,好文将在以下地方直接展示 Rust中文社区首页 Rust中文社区Rust文章栏目 知乎专栏R ...

  2. golang byte转string_Golang和Rust语言常见功能/库

    时下最流行.最具发展前途的的两门语言是Golang和Rust.Golang语言简洁.高效.并发.并且有个强大的囊括了常见功能标准库.与之相对比,Rust语言则主要是安全.高性能.虽然Rust没有gol ...

  3. RUST语言的编程范式

    总是有很多很多人来问我对Rust语言怎么看的问题,在各种地方被at,其实,我不是很想表达我的想法.因为在不同的角度,你会看到不同的东西.编程语言这个东西,老实说很难评价,在学术上来说,Lisp就是很好 ...

  4. Rust语言教程(3) - 数组与向量

    Rust语言教程(3) - 数组与向量 上一节我们采摘了不少低矮的果实,将其它语言学到的知识迁移到Rust 中来.这一节我们仍然继续采摘. 在数据结构中,最经常使用的就是定长的数组和变长的向量. 数组 ...

  5. 五分钟入门rust语言

    1. 入坑rust 1.1 rust发展历程 2006年,Mozilla 员工 "Graydon Hoare" 开发了Rust. 2015年5月15日,Rust编程语言核心团队正式 ...

  6. LeetCode141-环形链表(Linked List Cycle)-Rust语言实现

    环形链表 给定一个链表,判断链表中是否有环.为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). 如果 pos 是 -1,则在该链表中没有环. 示例 1 ...

  7. Rust语言教程(1) - 一门没有GC的语言

    缘起 本来这一系列文章并不在计划中.昨天跟赵磊和七哥讨论没有GC管理内存的问题. 讨论到没有GC情况下管理内存的学习曲线,七哥认为学习曲线不陡而是使用曲线陡.诚然,如果只有malloc和free,确实 ...

  8. The Rust Programming Language - 第13章 Rust语言中的函数式语言功能:迭代器与闭包 - 13.1 可以捕获其环境的匿名函数

    13 Rust语言中的函数式语言功能:迭代器与闭包 函数式编程风格通常包括将函数作为另一个函数的参数.返回值,将函数作为值赋值给变量,以供后续执行 本章中我们将会介绍以下内容: 闭包:一个可以存储在变 ...

  9. 选择 Go 还是 Rust?CloudWeGo-Volo 基于 Rust 语言的探索实践

    本文整理自 CloudWeGo 开源一周年技术沙龙活动中字节跳动基础架构服务框架资深研发工程师吴迪的演讲分享,技术沙龙主题为<字节高性能开源微服务框架:CloudWeGo>. 本文将从以下 ...

最新文章

  1. java 单元测试inject_Mockito中@Mock与@InjectMock
  2. node-serialport —— Node.js 串口数据读写包
  3. 关于lombok插件的使用,强大的简化代码工具
  4. log4js linux,如何在项目中使用log4.js的方法步骤
  5. C#——《C#语言程序设计》实验报告——数据库编程——基于ADO.NET技术的数据库操作DEMO
  6. 块分割,维特比算法小结
  7. JAVA设计模式之【单例模式】
  8. 模型评价(一) AUC大法 混淆矩阵
  9. php 拖拽 上传文件 进度,在Vue中如何实现带进度条的文件拖动上传功能
  10. Js/Jquery获取input file的文件名
  11. 什么是 D视频端子 色差分量接口 RF接口
  12. NSGA2算法中文版详细介绍
  13. javaShop JAVA版多用户B2B2C商城源码(PC +H5+小程序+APP)
  14. linux的dlan脚本,Linux下的DLNA播放器源码
  15. 软考中级网络工程师学习笔记(知识点汇总)普通版
  16. msxml6_x86.msi和msxml6_ia64.msi和msxml6_x64.msi的选择
  17. 惠普服务器电脑装系统教程,惠普台式电脑装系统步骤
  18. 使用Gitlab的CI/CD实现简单的自动发布
  19. Vue【有与无】【F3】【问题】vue 2.x 动态路由刷新后空白
  20. 好用的数据恢复软件EasyRecovery2023最新版

热门文章

  1. 十进制与二进制之间转换详解
  2. 巧推网站seo优化推动网站快速排名
  3. Android 10.0 进入recovery模式(等待用户选择recovery模式界面)实现自动恢复出厂设置
  4. 用php完成下拉菜单,最新的8个实现下拉菜单功能的总结
  5. 企业一体化信息管理平台是什么
  6. Excel 2010 VBA 入门 052 DateAdd函数
  7. 深度学习,提高前列腺癌诊断正确率
  8. 计算机更改显卡,为你解答笔记本电脑怎么更换显卡
  9. java cardlayout性能_java布局管理之CardLayout简单实例
  10. element-table表格分页多选