Rust Language培训

课程编码

rust3d

课程时长

21 小时 通常来说是3天,包括中间休息。

课程概览

Rust是一种系统编程语言,专注于安全性,内存,速度和并行性。

Machine Translated

课程大纲

# Day 1

 

- Introduction

- Installation

  - rustup

  - cargo, rustc

  - crates.io

- create a first project

  - creating a library or executable

  - Cargo.toml

  - Cargo.lock

  - exploring the source

  - cargo tools

  - hello world program

- Basic syntax

  - functions

  - variables

  - types

  - structs and enums

  - control flow: if, loops, pattern matching

  - exercise: the guessing game

- Ownership

  - moves

  - mutability

  - borrowing

  - lifetimes

  - exercise: fixing borrow checker compilation errors

- Modules

  - importing code

  - visibility

  - source code organisation

- Traits and generics

  - methods

  - generic types, functions and methods

  - type aliases

- Standard library

  - Option

  - Result

  - collections: Vec, HashMap

  - iterators

  - exercise: start building a small in memory database

 

# Day 2

 

- Tools

  - importing crates

  - unit tests

  - benchmarks

  - fuzzing

  - documentation

  - attributes

  - exercise: integrate unit tests, CI and other tools for the database example

- Strings and slices

  - String

  - &str

  - &[u8]

- Iterators

- Closures

  - exercise: start implementing queries

- Destructuring

  - if let

- API design

  - Usual traits

    - Clone and Copy

    - Debug and Display

    - PartialEq, Eq

    - Drop

  - Static VS dynamic dispatch

  - Associated types

  - Deref

  - Into

- I/O

  - exercise: add optional file storage for the database

- Concurrency

  - threads

  - channels

  - Send, Sync

  - mutability

  - Arc, Mutex

  - exercise: multiple clients querying the database while storing regularly

 

# Day 3

 

- FFI

  - repr(C)

  - exporting functions and structures

  - unsafe

  - Box

  - rusty-cheddar and rust-bindgen

  - linking

  - cargo-vendor

  - exercise: making a C interface for our in memory database

- common libraries and interfaces (adaptable depending on what the students want to focus on)

  - docs.rs

  - Command

  - clap

  - serde

  - log

  - tokio

  - rocket

  - lazy_static

  - nom

客户评论

★★★★★
★★★★★

课程分类

相关课程

促销课程

订阅促销课程

为尊重您的隐私,我公司不会把您的邮箱地址提供给任何人。您可以享有优先权和随时取消订阅的权利。

我们的客户

is growing fast!

We are looking to expand our presence in China!

As a Business Development Manager you will:

  • expand business in China
  • recruit local talent (sales, agents, trainers, consultants)
  • recruit local trainers and consultants

We offer:

  • Artificial Intelligence and Big Data systems to support your local operation
  • high-tech automation
  • continuously upgraded course catalogue and content
  • good fun in international team

If you are interested in running a high-tech, high-quality training and consulting business.

Apply now!

该网站在其他国家/地区