Merge pull request #209 from jturner314/byte-literals

Clarify that there isn't a separate "byte type"
This commit is contained in:
Carol (Nichols || Goulding) 2016-08-22 11:57:50 -04:00 committed by GitHub
commit 8687b94bb8

View File

@ -59,6 +59,20 @@ Finally, the `isize` and `usize` types depend on the kind of computer your
program is running on: 64-bits if you're on a 64-bit architecture, and 32-bits program is running on: 64-bits if you're on a 64-bit architecture, and 32-bits
if youre on a 32-bit architecture. if youre on a 32-bit architecture.
You can write integer literals in any of the forms shown in Table 3-2. Note that
all number literals except for the byte literal allow a type suffix, such as
`57u8`, and `_` as a visual separator, such as `1_000`.
| Number literals | Example |
|------------------|---------------|
| Decimal | `98_222` |
| Hex | `0xff` |
| Octal | `0o77` |
| Binary | `0b1111_0000` |
| Byte (`u8` only) | `b'A'` |
*Table 3-2: Integer literals in Rust.*
So how do you know which type of integer to use? If you're unsure, Rust's So how do you know which type of integer to use? If you're unsure, Rust's
defaults are generally good choices, and integer types default to `i32`: its defaults are generally good choices, and integer types default to `i32`: its
generally the fastest, even on 64-bit systems. The primary situation in which generally the fastest, even on 64-bit systems. The primary situation in which
@ -168,25 +182,6 @@ about Unicode Scalar Values at
*http://www.unicode.org/glossary/#unicode_scalar_value* and find a chart for *http://www.unicode.org/glossary/#unicode_scalar_value* and find a chart for
all unicode code points at *http://www.unicode.org/charts/*. all unicode code points at *http://www.unicode.org/charts/*.
#### The Byte Type
You can work with the bytes of data directly. Byte literals can be created from
the ASCII characters using `b` and single quotes:
Filename: src/main.rs
```rust
fn main() {
let byte = b'a';
println!("byte is {}", byte);
}
```
This will print `byte is 97`. Similarly, byte string literals can be created
using `b` and double quotes, like `b"some byte string"`. Note that since you are
limited to ASCII characters, it's a best practice to use characters instead of
bytes when you're working with natural language text.
### Compound Types ### Compound Types
*Compound types* can group multiple values of other types into one type. Rust *Compound types* can group multiple values of other types into one type. Rust