Don’t be afraid to try stuff out if you’re not sure. The Rust compiler has the best error messages of any compiler I’ve ever used, so 99% of the time if you’re wondering whether something will work you can just try it (possibly using the playground) and the compiler will explain what the issue is.
People are also really nice in the Rust community! There are a couple tricky concepts like lifetimes and generics, so if you’re having trouble don’t be afraid to ask for help.
I find the best way to learn a new language, in general, is to rewrite an application I’ve already done. My standard example is writing a basic parser/interpreter for a lisp-like programming language. I’ve found it’s quite a good introduction to how a language deals with things like string manipulation, as well as exposing you to how it deals with complex data structures. Otherwise there’s also the standard problem sets like exercism and Project Euler.
There are also a lot of really good libraries out there for doing things, so don’t be afraid of pulling in libraries from crates.io. Some of my favourites which I use all the time are clap (for command-line argument parsing), serde (converting to/from formats like JSON and XML), failure (error handling), and rlua (because who wouldn’t want to embed a scripting language in their application?!).