# Overview

Rust divides keywords into three categories:
- Strict keywords are keywords that can only be used in their correct contexts and cannot be used as names of items, variables, fields, variants, types, lifetime parameters, loop labels, macros, attributes, macro placeholders, or creates.
- Reserved keywords are keywords that aren't used yet, but they are reserved for future use and have the same restrictions as strict keywords. As of now the reserved keywords are `abstract`, `become`, `box`, `do`, `final`, `macro`, `override`, `priv`, `typeof`, `unsized`, `virtual`, and `yield` and do not have any meaning as of now.
- Weak keywords have special meaning only in certain contexts.

# Strict

| Keyword | Description |
|----------|-------------|
| `as` | Used to cast between types, pointer and address conversion, or rename an import |
| `break` | Used to exit early from a loop |
| `const` | Use for compile-time constants, compile-time evaluable functions, and raw pointers |
| `continue` | Skip to the next iteration of a loop |
| `crate` | Can be used as a part of a `extern` deceleration, to make an item public to other members of own crate with `pub(crate)`, or as the root of the current crate when specifying a module |
| `else` | The expression to evaluate when an `if` condition evaluates to `false` |
| `enum` | A type that can be any one of several variants |
| `extern` | Link to or import external code |
| `false` | A value of type `bool` representing logical **false**. It is the opposite of `true` |
| `fn` | Declares a function or function pointer |
| `for` | Used in for-in-loops and when implementing traits as in `inpl Trait for Type` |
| `if` | Evaluate a block if a condition holds |
| `impl` | Implement some functionality for a type |
| `in` | Iterate over a series of values with `for` |
| `let` | Bind a value to a variable |
| `loop` | Loop indefinitely |
| `match` | Control flow based on pattern matching |
| `mod` | Used to create new modules |
| `move` | Capture a closure’s environment by value |
| `mut` | Declare a variable, reference, or pointer as mutable |
| `pub` | Make an item visible to others |
| `ref` | Bind by reference during pattern matching |
| `return` | Return a value from a function |
| `Self` | The implementing type within a `trait` or `impl` block, or the current type within a type definition |
| `static` | A static item is a value which is valid for the entire duration of your program (a `'static` lifetime) |
| `struct` | A type that is composed of other types |
| `super` | The parent of the current module |
| `trait` | A common interface for a group of types |
| `true` | A value of type `bool` representing logical **true**. It is the opposite of `false` |
| `type` | Defines an alias for an existing type |
| `unsafe` | Allows code or interfaces whose memory safety cannot be verified by the type system |
| `use` | Import or rename items from other crates or modules |
| `while` | Loop while a condition is upheld |

# Weak

| Keyword | Description |
|----------|-------------|
| `macro_rules` | Used to create custom macros |
| `union` | Used to declare a union and is only a keyword when used in a union declaration |
| `'static` | Used for the static lifetime and cannot be used as a generic lifetime parameter or loop label |

If you require more detailed information about any specific keyword you can find documentation and examples at the [Standard Library Documentation](https://doc.rust-lang.org/std/index.html#keywords) or just by asking.
 ภาพรวม Rust แบ่งคำหลักออกเป็นสามประเภท: - คำหลักที่เข้มงวดคือคำหลักที่สามารถใช้ได้ในบริบทที่ถูกต้องเท่านั้น และไม่สามารถใช้เป็นชื่อของรายการ ตัวแปร ฟิลด์ ตัวแปร ประเภท พารามิเตอร์อายุการใช้งาน ป้ายกำกับลูป มาโคร คุณลักษณะ ตัวยึดตำแหน่งมาโครหรือสร้าง - คีย์เวิร์ดที่สงวนไว้คือคีย์เวิร์ดที่ยังไม่ได้ใช้ แต่สงวนไว้เพื่อใช้ในอนาคตและมีข้อจำกัดเช่นเดียวกับคีย์เวิร์ดที่เข้มงวด ณ ขณะนี้ คำหลักที่สงวนไว้ ได้แก่ `abstract`, `become`, `box`, `do`, `final`, `macro`, `override`, `priv`, `typeof`, `unsize`, `virtual` และ `ยอมจำนน' และไม่มีความหมายใด ๆ ในขณะนี้ - คำสำคัญที่อ่อนแอจะมีความหมายพิเศษเฉพาะในบางบริบทเท่านั้น # เข้มงวด | คำสำคัญ | คำอธิบาย | |----------|-------------| | `เป็น` | ใช้เพื่อแปลงระหว่างประเภท ตัวชี้ และการแปลงที่อยู่ หรือเปลี่ยนชื่อการนำเข้า | | `แตก` | ใช้เพื่อออกจากลูปก่อนกำหนด | | `const` | ใช้สำหรับค่าคงที่เวลาคอมไพล์ ฟังก์ชันประเมินผลเวลาคอมไพล์ และพอยน์เตอร์ดิบ | | `ต่อ` | ข้ามไปยังการวนซ้ำครั้งถัดไปของลูป | | `ลังไม้` | สามารถใช้เป็นส่วนหนึ่งของการชะลอตัวของ `extern` เพื่อเผยแพร่รายการให้กับสมาชิกคนอื่นๆ ของลังของตนเองด้วย `pub(crate)` หรือเป็นรากของลังปัจจุบันเมื่อระบุโมดูล | | `อย่างอื่น` | นิพจน์ที่จะประเมินเมื่อเงื่อนไข `if` ประเมินเป็น `false` | | `แจกแจง` | ประเภทที่สามารถเป็นหนึ่งในหลายรูปแบบ | | `ภายนอก` | ลิงก์ไปยังหรือนำเข้าโค้ดภายนอก | | `เท็จ` | ค่าประเภท `bool` แทนตรรกะ **false** มันตรงกันข้ามกับ `true` | | `ฟน์` | ประกาศฟังก์ชันหรือตัวชี้ฟังก์ชัน | | `สำหรับ' | ใช้ใน for-in-loops และเมื่อใช้คุณลักษณะเช่นเดียวกับใน `inpl Trait for Type` | | `ถ้า` | ประเมินบล็อกหากเงื่อนไขถือเป็น | | `โดยนัย` | ใช้ฟังก์ชันบางอย่างสำหรับประเภท | | `ใน` | วนซ้ำชุดค่าด้วย `for` | | `เอาล่ะ` | ผูกค่ากับตัวแปร | | `วนรอบ` | วนซ้ำไม่มีกำหนด | | `ตรงกัน` | ควบคุมโฟลว์ตามการจับคู่รูปแบบ | | `ม็อด` | ใช้เพื่อสร้างโมดูลใหม่ | | `ย้าย` | บันทึกสภาพแวดล้อมของการปิดตามค่า | | `มุด` | ประกาศตัวแปร ข้อมูลอ้างอิง หรือตัวชี้ว่าไม่แน่นอน | | `ผับ` | ทำให้รายการปรากฏแก่ผู้อื่น | | `อ้างอิง` | ผูกโดยการอ้างอิงระหว่างการจับคู่รูปแบบ | | `กลับมา` | ส่งกลับค่าจากฟังก์ชัน | | `ตัวเอง` | ประเภทการใช้งานภายในบล็อก `trait` หรือ `impl` หรือประเภทปัจจุบันภายในคำจำกัดความประเภท | | `คงที่` | รายการคงที่คือค่าที่ใช้ได้ตลอดระยะเวลาของโปรแกรมของคุณ (อายุการใช้งาน `'คงที่`) | | `โครงสร้าง` | ประเภทที่ประกอบด้วยประเภทอื่น | | `สุดยอด` | พาเรนต์ของโมดูลปัจจุบัน | | `ลักษณะ` | อินเทอร์เฟซทั่วไปสำหรับกลุ่มประเภท | | 'จริง' | ค่าประเภท `bool` แทนตรรกะ **จริง** มันตรงกันข้ามกับ `false` | | `พิมพ์` | กำหนดนามแฝงสำหรับประเภทที่มีอยู่ | | `ไม่ปลอดภัย` | อนุญาตโค้ดหรืออินเทอร์เฟซที่ไม่สามารถตรวจสอบความปลอดภัยของหน่วยความจำโดยระบบประเภท | | `ใช้` | นำเข้าหรือเปลี่ยนชื่อรายการจากลังหรือโมดูลอื่น | | `ในขณะที่` | วนซ้ำในขณะที่เงื่อนไขถูกยึดถือ | # อ่อนแอ | คำสำคัญ | คำอธิบาย | |----------|-------------| | `macro_rules` | ใช้เพื่อสร้างมาโครที่กำหนดเอง | | `ยูเนี่ยน` | ใช้เพื่อประกาศสหภาพและเป็นคีย์เวิร์ดเท่านั้นเมื่อใช้ในการประกาศสหภาพ | | `'คงที่` | ใช้สำหรับอายุการใช้งานแบบคงที่ และไม่สามารถใช้เป็นพารามิเตอร์อายุการใช้งานทั่วไปหรือป้ายกำกับลูป | หากคุณต้องการข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับคำหลักใดๆ คุณสามารถดูเอกสารและตัวอย่างได้ที่ [เอกสารห้องสมุดมาตรฐาน](https://doc.rust-lang.org/std/index.html#keywords) หรือเพียงแค่สอบถาม
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence