{"id":45354,"date":"2022-11-01T09:38:17","date_gmt":"2023-09-17T01:32:08","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/45354-2\/"},"modified":"2024-04-28T22:26:17","modified_gmt":"2024-04-28T14:26:17","slug":"45354-2","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/45354-2\/","title":{"rendered":""},"content":{"rendered":"<h1>Rust\u30c1\u30fc\u30c8\u30b7\u30fc\u30c8<\/h1>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u3042\u304f\u307e\u3067\u81ea\u5206\u7528\u306a\u306e\u3067\u96d1\u306a\u306e\u306f\u8a31\u3057\u3066\u304f\u3060\u3055\u3044\uff08\u5b66\u3093\u3060\u3082\u306e\u304b\u3089\u66f4\u65b0\u3057\u3066\u3044\u308b\u306e\u3067\u7d71\u4e00\u6027\u306f\u3042\u308a\u307e\u305b\u3093\u2026\uff09<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">2022\/12\/20 \u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u3067\u52c9\u5f37\u4e2d\u306a\u306e\u3067\u3069\u3093\u3069\u3093\u66f4\u65b0\u3057\u3066\u3044\u304d\u307e\u3059<\/ul>\n<h2>\u5909\u6570<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30df\u30e5\u30fc\u30bf\u30d6\u30eb\u3068\u30a4\u30df\u30e5\u30fc\u30bf\u30d6\u30eb<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u5b9a\u7fa9\u3057\u305f\u5909\u6570\u306b\u518d\u4ee3\u5165\u3057\u305f\u3044\u6642\u306fmut\u3092\u3064\u3051\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">fn main(){<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">let mut s1 = String::from(&#8220;hell&#8221;);<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">s1 = String::from(&#8220;hello&#8221;);<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">let s2 = (&#8220;world&#8221;);<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">let s3 = s1 + s2;<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">println!(&#8220;{}&#8221;, s3);<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">}<\/ul>\n<h2>\u6240\u6709\u6a29<\/h2>\n<pre class=\"post-pre\"><code><span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">(){<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">s1<\/span><span class=\"p\">:<\/span> <span class=\"nb\">String<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">String<\/span><span class=\"p\">::<\/span><span class=\"nf\">from<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Hello\"<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"k\">let<\/span> <span class=\"n\">s2<\/span><span class=\"p\">:<\/span> <span class=\"o\">&amp;<\/span><span class=\"nb\">str<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"World\"<\/span><span class=\"p\">;<\/span>\r\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{}\"<\/span><span class=\"p\">,<\/span> <span class=\"nf\">add_string<\/span><span class=\"p\">(<\/span><span class=\"n\">s1<\/span><span class=\"p\">,<\/span> <span class=\"n\">s2<\/span><span class=\"p\">));<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"c1\">\/\/s\u306f\u5909\u66f4\u3057\u305f\u3044\u306e\u3067\u30df\u30e5\u30fc\u30bf\u30d6\u30eb\u306eString\u578b\u3067\u53d7\u3051\u53d6\u308b<\/span>\r\n<span class=\"c1\">\/\/t\u306f\u5909\u66f4\u3059\u308b\u3046\u5fc5\u8981\u304c\u306a\u3044\u306e\u3067\u53c2\u7167\u3060\u3051\u3092\u53d7\u3051\u53d6\u308b<\/span>\r\n<span class=\"k\">fn<\/span> <span class=\"nf\">add_string<\/span><span class=\"p\">(<\/span><span class=\"n\">s<\/span><span class=\"p\">:<\/span> <span class=\"nb\">String<\/span><span class=\"p\">,<\/span> <span class=\"n\">t<\/span><span class=\"p\">:<\/span> <span class=\"o\">&amp;<\/span><span class=\"nb\">str<\/span><span class=\"p\">)<\/span> <span class=\"k\">-&gt;<\/span> <span class=\"nb\">String<\/span><span class=\"p\">{<\/span>\r\n    <span class=\"n\">s<\/span> <span class=\"o\">+<\/span> <span class=\"n\">t<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<h2>\u7d50\u5408<\/h2>\n<h3>\u6587\u5b57\u5217\u7d50\u5408<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u7d50\u5408\u3055\u308c\u308b\u5074\u306fString\u578b\u3001\u7d50\u5408\u3059\u308b\u5074\u306f\u6587\u5b57\u5217\u30ea\u30c6\u30e9\u30eb\uff08\u7d50\u5408\u3055\u308c\u308b\u5074\u306f\u5909\u66f4\u3055\u308c\u308b\u305f\u3081\u30df\u30e5\u30fc\u30bf\u30d6\u30eb\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308b\u304c\u3001\u7d50\u5408\u3059\u308b\u5074\u306f\u5909\u66f4\u3055\u308c\u306a\u3044\u306e\u3067\u30a4\u30df\u30e5\u30fc\u30bf\u30d6\u30eb\u3067\u3088\u3044\uff09<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">fn main(){<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">let mut s1 = String::from(&#8220;hello&#8221;);<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">let s2 = (&#8220;world&#8221;);<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">let s3 = s1 + s2;<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">println!(&#8220;{}&#8221;, s3);<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">}<\/ul>\n<h2>\u69cb\u9020\u4f53<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u5b9a\u7fa9<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">struct User {<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">username: String,<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">email: String,<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">sign_in_count: u64,<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">active: bool,<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">}<\/ul>\n<\/li>\n<\/ul>\n<p>\u69cb\u9020\u4f53\u30e1\u30bd\u30c3\u30c9\u5b9a\u7fa9<br \/>\nimpl User{<br \/>\n\/\/\u5f15\u6570\u306bself\u3092\u6301\u305f\u305b\u306a\u3044\u3053\u3068\u3067static\u30e1\u30bd\u30c3\u30c9\u3068\u3057\u3066\u5b9a\u7fa9\u3067\u304d\u308b<br \/>\npub fn new(username: String, email: String, sign_in_count: u64, active: bool) -&gt; Self{<br \/>\nSelf{username: username, email: email, sign_in_count: sign_in_count, active: active}<br \/>\n}<br \/>\n\/\/\u901a\u5e38\u306e\u69cb\u9020\u4f53\u30e1\u30bd\u30c3\u30c9<br \/>\npub fn print_name(self){<br \/>\nprintln!(&#8220;{}&#8221;, self.username);<br \/>\n}<br \/>\n}<\/p>\n<p>\u30e1\u30bd\u30c3\u30c9\u547c\u3073\u51fa\u3057<br \/>\nlet user: User = User::new(String::from(&#8220;revioness&#8221;), String::from(&#8220;revioness.outlook.jp&#8221;), 1, true);<br \/>\nuser.print_name();<\/p>\n<p>\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316<br \/>\nlet user1 = User {<br \/>\nemail: String::from(&#8220;someone@example.com&#8221;),<br \/>\nusername: String::from(&#8220;someusername123&#8221;),<br \/>\nactive: true,<br \/>\nsign_in_count: 1,<br \/>\n};<\/p>\n<p>\u53c2\u7167<br \/>\nprintln!(&#8220;email:{}&#8221;, user1.email);<\/p>\n<p>\u5024\u306e\u5909\u66f4<br \/>\nlet mut user1 = User {<br \/>\nemail: String::from(&#8220;someone@example.com&#8221;),<br \/>\nusername: String::from(&#8220;someusername123&#8221;),<br \/>\nactive: true,<br \/>\nsign_in_count: 1,<br \/>\n};<\/p>\n<p>\u4eca\u307e\u3067\u4f55\u5ea6\u3082\u8a00\u3063\u3066\u3044\u308b\u3088\u3046\u306b\u3001let \u5909\u6570\u540d\u3067\u5b9a\u7fa9\u3057\u305f\u3082\u306e\u306f\u30a4\u30df\u30e5\u30fc\u30bf\u30d6\u30eb\u306b\u306a\u308b\u306e\u3067\u3001\u5024\u306e\u5909\u66f4\u304c\u3067\u304d\u306a\u3044<br \/>\n\u306a\u306e\u3067mut\u3092\u3064\u3051\u3066\u30df\u30e5\u30fc\u30bf\u30d6\u30eb\u306b\u3059\u308b<br \/>\n\u69cb\u9020\u4f53\u306e\u3053\u306e\u5909\u6570\u3060\u3051\u30df\u30e5\u30fc\u30bf\u30d6\u30eb\u306b\uff01\u3068\u3044\u3063\u305f\u3053\u3068\u306f\u3067\u304d\u306a\u3044<br \/>\nuser1.username = String::from(&#8220;test123&#8221;);<\/p>\n<p>\u7701\u7565\u5f62<br \/>\nlet mut user1 = User {<br \/>\nemail: String::from(&#8220;someone@example.com&#8221;),<br \/>\nusername: String::from(&#8220;someusername123&#8221;),<br \/>\nactive: true,<br \/>\nsign_in_count: 1,<br \/>\n};<br \/>\nlet mut user2 = User {<br \/>\nemail: String::from(&#8220;someone2@example.com&#8221;),<br \/>\nusername: String::from(&#8220;someusername1234&#8221;),<br \/>\n..user1<br \/>\n};<\/p>\n<p>active\u3068sign_in_count\u304cuser1\u3068\u540c\u3058\u5024\u304c\u5165\u308b<\/p>\n<h2>\u30bf\u30d7\u30eb<\/h2>\n<pre class=\"post-pre\"><code><span class=\"k\">struct<\/span> <span class=\"nf\">Color<\/span><span class=\"p\">(<\/span><span class=\"nb\">i32<\/span><span class=\"p\">,<\/span> <span class=\"nb\">i32<\/span><span class=\"p\">,<\/span> <span class=\"nb\">i32<\/span><span class=\"p\">);<\/span>\r\n<span class=\"k\">struct<\/span> <span class=\"nf\">Point<\/span><span class=\"p\">(<\/span><span class=\"nb\">i32<\/span><span class=\"p\">,<\/span> <span class=\"nb\">i32<\/span><span class=\"p\">,<\/span> <span class=\"nb\">i32<\/span><span class=\"p\">);<\/span>\r\n\r\n<span class=\"k\">let<\/span> <span class=\"n\">black<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">Color<\/span><span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"mi\">0<\/span><span class=\"p\">);<\/span>\r\n<span class=\"k\">let<\/span> <span class=\"n\">origin<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">Point<\/span><span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"mi\">0<\/span><span class=\"p\">);<\/span>\r\n<\/code><\/pre>\n<p>\u3053\u306e\u5834\u5408\u3001\u4e2d\u306e\u69cb\u9020\u306f\u540c\u3058\u3060\u304c\u3001\u578b\u306fColor\u578b\u3068Point\u578b\u306b\u5206\u304b\u308c\u308b<\/p>\n<h2>println!<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u305d\u306e\u307e\u307e\u51fa\u529b<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">println!(&#8220;rect1 is {}&#8221;, 1);<\/ul>\n<\/li>\n<\/ul>\n<p>\u69cb\u9020\u4f53\u306e\u51fa\u529b<br \/>\nstruct Rectangle {<br \/>\nwidth: u32,<br \/>\nheight: u32,<br \/>\n}<\/p>\n<p>fn main() {<br \/>\nlet rect1 = Rectangle { width: 30, height: 50 };<\/p>\n<p>\/\/ rect1\u306f{}\u3067\u3059<br \/>\nprintln!(&#8220;rect1 is {:?}&#8221;, rect1);<br \/>\n}<\/p>\n<p>rect1 is Rectangle { width: 30, height: 50 }<\/p>\n<p>\u3055\u3089\u306b\u898b\u3084\u3059\u304f<br \/>\nstruct Rectangle {<br \/>\nwidth: u32,<br \/>\nheight: u32,<br \/>\n}<\/p>\n<p>fn main() {<br \/>\nlet rect1 = Rectangle { width: 30, height: 50 };<\/p>\n<p>\/\/ rect1\u306f{}\u3067\u3059<br \/>\nprintln!(&#8220;rect1 is {:#?}&#8221;, rect1);<br \/>\n}<\/p>\n<p>rect1 is Rectangle {<br \/>\nwidth: 30,<br \/>\nheight: 50,<br \/>\n}<\/p>\n<h2>\u30d5\u30a1\u30a4\u30eb\u5165\u51fa\u529b<\/h2>\n<h3>\u30d5\u30a1\u30a4\u30eb\u8aad\u307f\u8fbc\u307f<\/h3>\n<pre class=\"post-pre\"><code><span class=\"k\">use<\/span> <span class=\"nn\">std<\/span><span class=\"p\">::<\/span><span class=\"n\">fs<\/span><span class=\"p\">;<\/span>\r\n<span class=\"k\">use<\/span> <span class=\"nn\">std<\/span><span class=\"p\">::<\/span><span class=\"n\">error<\/span><span class=\"p\">;<\/span>\r\n<span class=\"k\">use<\/span> <span class=\"nn\">std<\/span><span class=\"p\">::<\/span><span class=\"nn\">io<\/span><span class=\"p\">::<\/span><span class=\"n\">Write<\/span><span class=\"p\">;<\/span>\r\n\r\n<span class=\"c1\">\/\/String\u3067\u8aad\u307f\u8fbc\u307f<\/span>\r\n<span class=\"k\">let<\/span> <span class=\"n\">content<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">fs<\/span><span class=\"p\">::<\/span><span class=\"nf\">read_to_string<\/span><span class=\"p\">(<\/span><span class=\"s\">\"\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9\"<\/span><span class=\"p\">)<\/span><span class=\"o\">?<\/span><span class=\"p\">;<\/span>\r\n\r\n<span class=\"c1\">\/\/\u66f8\u304d\u8fbc\u307f<\/span>\r\n<span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">file<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">fs<\/span><span class=\"p\">::<\/span><span class=\"nn\">File<\/span><span class=\"p\">::<\/span><span class=\"nf\">create<\/span><span class=\"p\">(<\/span><span class=\"s\">\"\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9\"<\/span><span class=\"p\">)<\/span><span class=\"o\">?<\/span><span class=\"p\">;<\/span>\r\n<span class=\"n\">file<\/span><span class=\"nf\">.write_all<\/span><span class=\"p\">(<\/span><span class=\"n\">buf<\/span><span class=\"p\">)<\/span><span class=\"nf\">.unwrap<\/span><span class=\"p\">();<\/span>\r\n<\/code><\/pre>\n<h2>json<\/h2>\n<pre class=\"post-pre\"><code><span class=\"c1\">\/\/Cargo.toml<\/span>\r\n<span class=\"p\">[<\/span><span class=\"n\">dependencies<\/span><span class=\"p\">]<\/span>\r\n<span class=\"n\">serde<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span> <span class=\"n\">version<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"1.0.152\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">features<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"s\">\"derive\"<\/span><span class=\"p\">]<\/span> <span class=\"p\">}<\/span>\r\n<span class=\"n\">serde_json<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"1.0.91\"<\/span>\r\n\r\n<span class=\"c1\">\/\/src<\/span>\r\n<span class=\"k\">use<\/span> <span class=\"nn\">serde<\/span><span class=\"p\">::{<\/span><span class=\"n\">Serialize<\/span><span class=\"p\">,<\/span> <span class=\"n\">Deserialize<\/span><span class=\"p\">};<\/span>\r\n\r\n<span class=\"c1\">\/\/\u69cb\u9020\u4f53\u3067\u7d99\u627f<\/span>\r\n<span class=\"nd\">#[derive(Serialize,<\/span> <span class=\"nd\">Deserialize)]<\/span>\r\n\r\n\r\n<span class=\"k\">let<\/span> <span class=\"n\">json<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">serde_json<\/span><span class=\"p\">::<\/span><span class=\"nf\">to_string<\/span><span class=\"p\">(<\/span><span class=\"s\">\"json\u6587\u5b57\u5217\"<\/span><span class=\"p\">)<\/span><span class=\"nf\">.unwrap<\/span><span class=\"p\">();<\/span>\r\n<\/code><\/pre>\n<h2>Logger<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">env_logger<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\/\/Cargo.toml<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">[dependencies]<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">log = &#8220;0.4.0&#8221;<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">env_logger = &#8220;0.10.0&#8221;<\/ul>\n<\/li>\n<\/ul>\n<p>\/\/src<br \/>\nuse env_logger;<br \/>\nuse log::{error, warn, info, debug};<\/p>\n<p>\/\/\u30c7\u30d0\u30c3\u30b0\u30ec\u30d9\u30eb\u8a2d\u5b9a\u30fb\u521d\u671f\u5316<br \/>\nenv::set_var(&#8220;RUST_LOG&#8221;, &#8220;info&#8221;);<br \/>\nenv_logger::init();<\/p>\n<p>info!(&#8220;\u30b3\u30e1\u30f3\u30c8&#8221;);<\/p>\n<p>#\u51fa\u529b<br \/>\n[2022-12-29T14:42:24Z INFO \u30a2\u30d7\u30ea\u540d] \u30b3\u30e1\u30f3\u30c8<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Rust\u30c1\u30fc\u30c8\u30b7\u30fc\u30c8 \u3042\u304f\u307e\u3067\u81ea\u5206\u7528\u306a\u306e\u3067\u96d1\u306a\u306e\u306f\u8a31\u3057\u3066\u304f\u3060\u3055\u3044\uff08\u5b66\u3093\u3060\u3082\u306e\u304b\u3089\u66f4\u65b0\u3057\u3066\u3044\u308b\u306e\u3067\u7d71\u4e00\u6027\u306f\u3042\u308a\u307e [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-45354","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>- Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/45354-2\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:description\" content=\"Rust\u30c1\u30fc\u30c8\u30b7\u30fc\u30c8 \u3042\u304f\u307e\u3067\u81ea\u5206\u7528\u306a\u306e\u3067\u96d1\u306a\u306e\u306f\u8a31\u3057\u3066\u304f\u3060\u3055\u3044\uff08\u5b66\u3093\u3060\u3082\u306e\u304b\u3089\u66f4\u65b0\u3057\u3066\u3044\u308b\u306e\u3067\u7d71\u4e00\u6027\u306f\u3042\u308a\u307e [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/45354-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-09-17T01:32:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-28T14:26:17+00:00\" \/>\n<meta name=\"author\" content=\"\u5b87, \u534e\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u5b87, \u534e\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/45354-2\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/45354-2\/\",\"name\":\"- Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-09-17T01:32:08+00:00\",\"dateModified\":\"2024-04-28T14:26:17+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/45354-2\/\"]}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458\",\"name\":\"\u5b87, \u534e\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g\",\"caption\":\"\u5b87, \u534e\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yuhua\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/45354-2\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"- Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/45354-2\/","og_locale":"zh_CN","og_type":"article","og_description":"Rust\u30c1\u30fc\u30c8\u30b7\u30fc\u30c8 \u3042\u304f\u307e\u3067\u81ea\u5206\u7528\u306a\u306e\u3067\u96d1\u306a\u306e\u306f\u8a31\u3057\u3066\u304f\u3060\u3055\u3044\uff08\u5b66\u3093\u3060\u3082\u306e\u304b\u3089\u66f4\u65b0\u3057\u3066\u3044\u308b\u306e\u3067\u7d71\u4e00\u6027\u306f\u3042\u308a\u307e [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/45354-2\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-09-17T01:32:08+00:00","article_modified_time":"2024-04-28T14:26:17+00:00","author":"\u5b87, \u534e","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u5b87, \u534e","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"2 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/45354-2\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/45354-2\/","name":"- Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-09-17T01:32:08+00:00","dateModified":"2024-04-28T14:26:17+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/45354-2\/"]}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458","name":"\u5b87, \u534e","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g","caption":"\u5b87, \u534e"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yuhua\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/45354-2\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/45354","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=45354"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/45354\/revisions"}],"predecessor-version":[{"id":61581,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/45354\/revisions\/61581"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=45354"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=45354"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=45354"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}