注意
本系列文章已升级、转移至我的自建站点中,本章原文为:rust类型转换详解:from与into
一、前言
rust相比于C/C++,最让我觉得惊艳的便是它的自动类型推导,比如当你写下面这条语句时:
let a=10;
rust编译器将能够自动推导出a的类型为i32,因为字面量10的值就是i32。
当然,这个特性在C/C++中可以使用auto关键字实现,包括本文要介绍的类型转换,C/C++同样也可以实现、甚至可能更加方便(比如强制转换?)。
但rust能够通过人为指定返回值类型来推断函数返回值类型在C/C++中却是无法实现的(也就是本文要介绍的功能)。
包括rust提供了安全性保证、其类型相当直观、即使是枚举类型也能实现方法进行任意类型转换,加上其简练优雅的语法,在体验上C/C++真的很难与之相比。