本文简要介绍rust语言中 Trait std::fmt::Pointer
的用法。
用法
pub trait Pointer {
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;
}
p
格式化。
Pointer
特征应将其输出格式化为内存位置。这通常表示为十六进制。
有关格式化程序的更多信息,请参阅the module-level documentation。
例子
&i32
的基本用法:
let x = &42;
let address = format!("{:p}", x); // this produces something like '0x7f06092ac6d0'
在类型上实现Pointer
:
use std::fmt;
struct Length(i32);
impl fmt::Pointer for Length {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
// use `as` to convert to a `*const T`, which implements Pointer, which we can use
let ptr = self as *const Self;
fmt::Pointer::fmt(&ptr, f)
}
}
let l = Length(42);
println!("l is in memory here: {:p}", l);
let l_ptr = format!("{:018p}", l);
assert_eq!(l_ptr.len(), 18);
assert_eq!(&l_ptr[..2], "0x");
相关用法
- Rust Pointer用法及代码示例
- Rust PoisonError用法及代码示例
- Rust PoisonError.into_inner用法及代码示例
- Rust Poll.map用法及代码示例
- Rust Poll.map_ok用法及代码示例
- Rust Poll.is_ready用法及代码示例
- Rust Poll.ready用法及代码示例
- Rust Poll.is_pending用法及代码示例
- Rust Poll.map_err用法及代码示例
- Rust PanicInfo.payload用法及代码示例
- Rust Path.components用法及代码示例
- Rust PathBuf.with_capacity用法及代码示例
- Rust Peekable.peek用法及代码示例
- Rust Path.is_symlink用法及代码示例
- Rust Path.canonicalize用法及代码示例
- Rust PartialOrd.partial_cmp用法及代码示例
- Rust Path.is_relative用法及代码示例
- Rust Path.file_stem用法及代码示例
- Rust PermissionsExt.set_mode用法及代码示例
- Rust Path.to_string_lossy用法及代码示例
- Rust Path.display用法及代码示例
- Rust PathBuf.into_os_string用法及代码示例
- Rust Peekable.next_if用法及代码示例
- Rust PanicInfo用法及代码示例
- Rust PathBuf.pop用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Trait std::fmt::Pointer。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。