Let's start with the basics. First, let's open and write into a file:
use std::fs::File; use std::io::{self, Write}; fn write_into_file(content: &str, file_name: &str) -> io::Result<()> { let mut f = File::create(file_name)?; f.write_all(content.as_bytes()) }
Now let's explain this code:
use std::fs::File;
Nothing fancy, we just import the File
type:
use std::io::{self, Write};
This set of imports is more interesting: we import the io
module (self
) and the Write
trait. For the second, if we didn't import it, we wouldn't be able to use the write_all
method (because you need to import a trait to use its methods):
fn write_into_file(content: &str, file_name: &str) -> io::Result<()> {
We declared a function named write_into_file
that takes a filename and the content you want to write into the file as arguments. (Note that the file will be overwritten by this content!) It returns an io::Result
type. It is an alias...