rust
This commit is contained in:
parent
01733ab2e2
commit
75ccf9b4b8
@ -61,6 +61,34 @@ fn main() {
|
|||||||
Constants are by convention written in UPPER_CAMEL_CASE.
|
Constants are by convention written in UPPER_CAMEL_CASE.
|
||||||
|
|
||||||
# 3.2 Data Types
|
# 3.2 Data Types
|
||||||
|
Rust is a statically typed language. Variables in Rust must have their types
|
||||||
|
known at compile time, or else the compilation will fail. A lot of times types
|
||||||
|
can be inferred, but this is not possible for cases where there are multiple
|
||||||
|
possible types.
|
||||||
|
|
||||||
|
For these cases, the type must be annotated, like this:
|
||||||
|
```rust
|
||||||
|
let annotated: str = "This one is annotated!";
|
||||||
|
let not_annotated = "This one is not!";
|
||||||
|
```
|
||||||
|
|
||||||
|
## Scalar Types
|
||||||
|
Scalar types are those that only take on one object. Examples in Rust are
|
||||||
|
integers, characters, booleans, and floating-point numbers.
|
||||||
|
|
||||||
|
Integers can be signed or unsigned, with different levels of bit resolution,
|
||||||
|
up to 128 bits. That being said, there is an 'arch' length that is the size of
|
||||||
|
the operating system. This is used with `isize` and `usize`. Signed integers are
|
||||||
|
stored with two's complement.
|
||||||
|
|
||||||
|
Numbers can also be written in differnet formats, including decimals (with _
|
||||||
|
escapes), hex values, octal values, binary values, or even as a byte(b'A').
|
||||||
|
|
||||||
|
>[!note] A special note about *integer overflow*.
|
||||||
|
> Rust code compiled and ran in debug mode will have checks for integer
|
||||||
|
> overflow, causing the code to panic at runtime if an overflow occurs.
|
||||||
|
> Production code compiled with the `--release` flag will NOT panic however,
|
||||||
|
> but instead will wrap around to the first value in the possible range.
|
||||||
|
|
||||||
# 3.3 Functions
|
# 3.3 Functions
|
||||||
|
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
{"rustc_fingerprint":9317237865466217508,"outputs":{"1185988223601034215":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n/home/danesabo/.rustup/toolchains/stable-x86_64-unknown-linux-gnu\noff\npacked\nunpacked\n___\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_abi=\"\"\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"unix\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"linux\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"unknown\"\nunix\n","stderr":""},"15611795083382425170":{"success":true,"status":"","code":0,"stdout":"rustc 1.84.0 (9fc6b4312 2025-01-07)\nbinary: rustc\ncommit-hash: 9fc6b43126469e3858e2fe86cafb4f0fd5068869\ncommit-date: 2025-01-07\nhost: x86_64-unknown-linux-gnu\nrelease: 1.84.0\nLLVM version: 19.1.5\n","stderr":""}},"successes":{}}
|
{"rustc_fingerprint":416372215023924338,"outputs":{"1185988223601034215":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n/home/danesabo/.rustup/toolchains/stable-x86_64-unknown-linux-gnu\noff\npacked\nunpacked\n___\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_abi=\"\"\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"unix\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"linux\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"unknown\"\nunix\n","stderr":""},"15611795083382425170":{"success":true,"status":"","code":0,"stdout":"rustc 1.84.1 (e71f9a9a9 2025-01-27)\nbinary: rustc\ncommit-hash: e71f9a9a98b0faf423844bf0ba7438f29dc27d58\ncommit-date: 2025-01-27\nhost: x86_64-unknown-linux-gnu\nrelease: 1.84.1\nLLVM version: 19.1.5\n","stderr":""}},"successes":{}}
|
||||||
Loading…
x
Reference in New Issue
Block a user