Result
ΠΠ°ΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π² Rust ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Result, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΡ ΠΊΡΠ°ΡΠΊΠΎ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠΈ ΡΠΈΠΏΠΎΠ² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
// Copyright 2022 Google LLC
// SPDX-License-Identifier: Apache-2.0
use std::fs::File;
use std::io::Read;
fn main() {
let open_result: Result<File, std::io::Error> = File::open("diary.txt");
match open_result {
Ok(mut file) => {
let mut contents = String::new();
if let Ok(bytes) = file.read_to_string(&mut contents) {
println!("Dear diary: {contents} ({bytes} bytes)");
} else {
println!("Could not read file content");
}
}
Err(err) => {
println!("The diary could not be opened: {err}");
}
}
}
-
ResultΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°:Ok, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΏΠ΅Ρ Π°, ΠΈErr, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π²ΠΈΠ΄Π°. -
Π’ΠΎ, ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π²Π΅ΡΠ½ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ, Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΎ Π² ΡΠΈΠ³Π½Π°ΡΡΡΠ΅ Π΅Ρ ΡΠΈΠΏΠ°: ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Result. -
ΠΠ°ΠΊ ΠΈ Ρ
Option, Π½Π΅Π»ΡΠ·Ρ Π·Π°Π±ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ: Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΏΠ΅Ρ Π°, Π½ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, Π½Π΅ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠ² ΡΠ½Π°ΡΠ°Π»Π°Result, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ. Π’Π°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠ°ΠΊunwrap, ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΈ Π³ΡΡΠ·Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π±Π΅Π· Π½Π°Π΄ΡΠΆΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π²ΡΠ΅Π³Π΄Π° Π²ΠΈΠ΄Π½ΠΎ, Π³Π΄Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΎΠΏΡΡΠ΅Π½Π°.
ΠΠ»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ
ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² Rust Ρ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ΄Π΅Π½ΡΠ°ΠΌ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π½Π°ΠΊΠΎΠΌΡ ΠΏΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ·ΡΠΊΠ°ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
-
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ C++, Java, Python.
-
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ·ΡΠΊΠΎΠ² Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠΎ ΡΠΈΠ³Π½Π°ΡΡΡΠ΅ ΡΠΈΠΏΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ ΠΎΠ½Π° Π²ΡΠ±ΡΠΎΡΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅Π»ΡΠ·Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ ΠΎΠ½Π° Π²ΡΠ±ΡΠΎΡΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
-
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°ΡΠΊΡΡΡΠΈΠ²Π°ΡΡ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡΡ Π²Π²Π΅ΡΡ , ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ Π±Π»ΠΎΠΊ
try. ΠΡΠΈΠ±ΠΊΠ°, Π²ΠΎΠ·Π½ΠΈΠΊΡΠ°Ρ Π³Π»ΡΠ±ΠΎΠΊΠΎ Π² ΡΡΠ΅ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΡΠ΅ ΠΏΠΎ ΡΡΠ΅ΠΊΡ.
ΠΠΎΠΌΠ΅ΡΠ° ΠΎΡΠΈΠ±ΠΎΠΊ
-
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ·ΡΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π½ΠΎΠΌΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ (ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ) ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΈΠΌΠ΅ΡΡ β C ΠΈ Go.
-
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ·ΡΠΊΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π±ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΈ ΡΠΎΠ³Π΄Π° Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΏΠ΅Ρ Π°.