Close Menu
TechTimes VietnamTechTimes Vietnam
  • Tin tức
    • Máy tính
    • Di động
    • Khoa học
    • Ứng dụng
    • Bảo mật
    • Điện tử tiêu dùng
    • Ô tô – Xe máy
    • Doanh nghiệp
      • PR Newswire
      • Media Outreach
      • GlobeNewswire
  • Đánh giá
  • Đời sống số
  • Thủ thuật
    • Bảo mật
    • Di động
    • Ứng dụng
    • Máy tính
    • Điện tử tiêu dùng
    • Máy ảnh
  • Khoa học

Đăng ký bản tin

Cập nhật thông tin, đánh giá, bình luận... trong hộp thư email.

Facebook X (Twitter) Instagram YouTube LinkedIn TikTok RSS
Facebook X (Twitter) TikTok LinkedIn RSS
TechTimes VietnamTechTimes Vietnam
  • Tin tức
    1. Máy tính
    2. Di động
    3. Khoa học
    4. Ứng dụng
    5. Bảo mật
    6. Điện tử tiêu dùng
    7. Ô tô – Xe máy
    8. Doanh nghiệp
    9. PR Newswire
    10. Media Outreach
    11. GlobeNewswire
    12. Xem tất cả

    Top 3 laptop Acer Nitro ProPanel đáng mua năm 2026: Chọn cấu hình cân bằng, hiệu năng cao hay tối ưu chi phí?

    12/06/2026

    COMPUTEX 2026: Predator Helios 18 AI và Nitro 16 – Acer mang sức mạnh AI PC và gaming lên một tầm cao mới

    03/06/2026

    COMPUTEX 2026: CORSAIR mở rộng thế hệ thiết bị gaming thông minh với Hall Effect, Stream Deck và âm thanh mới

    03/06/2026

    COMPUTEX 2026: Corsair mang ghế gaming, giải pháp làm mát và ra mắt phụ kiện cá nhân hóa mới

    03/06/2026

    HONOR 600 Series ra mắt, giá từ 9,99 triệu đồng, nổi bật với camera 200MP và pin 7.000mAh

    11/06/2026

    Smartphone Xiaomi 17T Series ghi nhận doanh số đặt trước tăng 40% sau một tuần ra mắt

    10/06/2026

    iPhone 18 Pro có thể dùng modem Apple C2: Tăng pin, nâng riêng tư và cải thiện kết nối

    10/06/2026

    COMPUTEX 2026: Trải nghiệm nhanh Acer Swift Air 14 – mỏng nhẹ, thực dụng và đủ chinh phục số đông

    03/06/2026

    Nghiên cứu mới từ Virginia Tech phát hiện tế bào ung thư kích thước nhỏ hơn có thể nguy hiểm hơn

    26/05/2026

    Hoạt động khám phá không gian đang thúc đẩy công nghệ và đổi mới khoa học như thế nào?

    19/05/2026

    Nghiên cứu lớn nhất về quét não phát hiện dấu hiệu thiếu choline ở người mắc rối loạn lo âu

    17/05/2026

    Starlink năm 2026: Internet vệ tinh tiệm cận cáp quang, giảm độ trễ, có thể phủ sóng gần toàn cầu

    14/04/2026

    Mở hộp, lắp đặt và thiết lập TCL QD-Mini LED 65A400M: Chiếc TV là điểm nhấn nội thất hiện đại

    12/06/2026

    Rakuten Viber ra mắt tính năng theo dõi bóng đá trực tiếp dành cho người dùng Việt Nam

    11/06/2026

    Microsoft giới thiệu MAI-Thinking-1, hướng tới giảm phụ thuộc OpenAI và Anthropic

    09/06/2026

    WWDC 2026: 7 công bố đáng chú ý nhất của Apple, từ Siri AI đến iOS 27 và macOS Golden Gate

    09/06/2026

    Kaspersky: Phụ huynh càng thường xuyên đăng ảnh con lên mạng xã hội càng ít chú trọng đến bảo vệ quyền riêng tư

    05/06/2026

    COMPUTEX 2026: Khám phá loạt giải pháp dữ liệu, AI và điện toán riêng tư mới của Synology

    03/06/2026

    Những rủi ro tiềm ẩn khó lường khi doanh nghiệp sử dụng phần mềm lậu, không có bản quyền

    01/06/2026

    WordPress 7.0 ra mắt hạ tầng AI mới, cảnh báo nguy cơ đánh cắp khóa API xuất hiện ngay ngày đầu

    23/05/2026

    LG tái hiện không gian sống của MINHO tại Việt Nam, đưa AI thấu cảm vào đời sống thường nhật

    12/06/2026

    Mở hộp, lắp đặt và thiết lập TCL QD-Mini LED 65A400M: Chiếc TV là điểm nhấn nội thất hiện đại

    12/06/2026

    LG ra mắt PuriCare 360 HIT thế hệ mới với công nghệ lọc khí 360° và AI tiết kiệm năng lượng

    09/06/2026

    MOVA ra mắt E50 Ultra và V70 Ultra Complete, nâng tầm trải nghiệm làm sạch thông minh tại Việt Nam

    05/06/2026

    VinFast ra mắt nhận diện thương hiệu mới cho dòng ô tô điện chuyên kinh doanh dịch vụ Green

    26/05/2026

    Dat Bike ra mắt ERA: Xe điện gia đình đi 200km, sạc nhanh hơn 2 giờ, giá từ 29,9 triệu đồng

    23/05/2026

    Vespa kỷ niệm 80 năm tại Việt Nam với nhiều hoạt động và ra mắt bộ sưu tập đặc biệt mang dấu ấn nước Ý

    16/05/2026

    Rolls-Royce ra mắt Black Badge Cullinan by Cyril Kongo: Khi nghệ thuật graffiti bước vào thế giới siêu sang

    15/05/2026

    COMPUTEX 2026 chính thức mở màn, chủ đề ‘AI Together’, quy tụ 1.500 doanh nghiệp công nghệ toàn cầu

    02/06/2026

    NIC Việt Nam góp mặt tại GITEX ASIA 2025 – Kết nối hệ sinh thái công nghệ châu Á

    17/04/2025

    VinBrain mở rộng hợp tác với Medlatec và Vikomed

    18/09/2024

    Công bố sự kiện xúc tiến giao thương MEGA US EXPO 2024

    11/07/2024

    Tòa Trọng tài Quốc tế Quảng Châu khai trương Văn phòng Liên lạc Việt Nam nhằm hỗ trợ giải quyết tranh chấp xuyên biên giới giữa Trung Quốc và Việt Nam

    12/06/2026

    BAIC FOTON eView Connect ra mắt ấn tượng tại Thái Lan, tiên phong mở ra mô hình mới cho logistics xanh tại Đông Nam Á

    12/06/2026

    Sự kiện pop-up theo chủ đề RGB của Hisense thắp sáng điểm đến biểu tượng mới của FIFA World Cup 2026™

    12/06/2026

    Hisense chào mừng lễ khai mạc FIFA World Cup 2026™ bằng đột phá công nghệ RGB MiniLED

    12/06/2026

    Kaopiz và QuantumTX hợp tác để cùng phát triển các giải pháp chăm sóc sức khỏe thế hệ mới

    12/06/2026

    Du lịch Cao Hùng bứt phá: Chiến dịch quảng bá mới ở quy mô quốc tế – hướng tới 28 triệu người trên khắp châu Á

    12/06/2026

    DKSH ký kết thỏa thuận hợp tác phân phối với Công ty công nghệ sinh học BridgeBio

    11/06/2026

    DP World khởi động sáng kiến ​​phục hồi thảm cỏ biển toàn cầu đầu tiên tại đảo Geoje (Hàn Quốc)

    11/06/2026

    Tòa Trọng tài Quốc tế Quảng Châu khai trương Văn phòng Liên lạc Việt Nam nhằm hỗ trợ giải quyết tranh chấp xuyên biên giới giữa Trung Quốc và Việt Nam

    12/06/2026

    BAIC FOTON eView Connect ra mắt ấn tượng tại Thái Lan, tiên phong mở ra mô hình mới cho logistics xanh tại Đông Nam Á

    12/06/2026

    Sự kiện pop-up theo chủ đề RGB của Hisense thắp sáng điểm đến biểu tượng mới của FIFA World Cup 2026™

    12/06/2026

    Hisense chào mừng lễ khai mạc FIFA World Cup 2026™ bằng đột phá công nghệ RGB MiniLED

    12/06/2026

    LG tái hiện không gian sống của MINHO tại Việt Nam, đưa AI thấu cảm vào đời sống thường nhật

    12/06/2026

    20 năm Intel tại Việt Nam: Hơn 4 tỷ sản phẩm xuất xưởng và hành trình phát triển nhân lực bán dẫn

    12/06/2026

    Mở hộp, lắp đặt và thiết lập TCL QD-Mini LED 65A400M: Chiếc TV là điểm nhấn nội thất hiện đại

    12/06/2026

    Top 3 laptop Acer Nitro ProPanel đáng mua năm 2026: Chọn cấu hình cân bằng, hiệu năng cao hay tối ưu chi phí?

    12/06/2026
  • Đánh giá

    COMPUTEX 2026: Predator Helios 18 AI và Nitro 16 – Acer mang sức mạnh AI PC và gaming lên một tầm cao mới

    03/06/2026

    COMPUTEX 2026: Trải nghiệm nhanh Acer Swift Air 14 – mỏng nhẹ, thực dụng và đủ chinh phục số đông

    03/06/2026

    Corsair iCUE LINK 3500X RGB & NAUTILUS 360 RS ARGB White: Combo build PC trắng đẹp, mát và dễ chơi

    30/05/2026
    9.0

    Corsair VANGUARD AIR 99 Wireless: Bàn phím gaming cao cấp cho cả chơi game lẫn sáng tạo nội dung

    19/05/2026
    9.7

    Đánh giá OPPO Find X9s: Khi smartphone nhỏ gọn mang tham vọng thay thế máy ảnh chuyên nghiệp

    09/05/2026
  • Đời sống số

    LG tái hiện không gian sống của MINHO tại Việt Nam, đưa AI thấu cảm vào đời sống thường nhật

    12/06/2026

    20 năm Intel tại Việt Nam: Hơn 4 tỷ sản phẩm xuất xưởng và hành trình phát triển nhân lực bán dẫn

    12/06/2026

    Mở hộp, lắp đặt và thiết lập TCL QD-Mini LED 65A400M: Chiếc TV là điểm nhấn nội thất hiện đại

    12/06/2026

    Top 3 laptop Acer Nitro ProPanel đáng mua năm 2026: Chọn cấu hình cân bằng, hiệu năng cao hay tối ưu chi phí?

    12/06/2026

    Rakuten Viber ra mắt tính năng theo dõi bóng đá trực tiếp dành cho người dùng Việt Nam

    11/06/2026
  • Thủ thuật
    1. Bảo mật
    2. Di động
    3. Ứng dụng
    4. Máy tính
    5. Điện tử tiêu dùng
    6. Máy ảnh
    7. Xem tất cả

    Kaspersky: Phụ huynh càng thường xuyên đăng ảnh con lên mạng xã hội càng ít chú trọng đến bảo vệ quyền riêng tư

    05/06/2026

    COMPUTEX 2026: Khám phá loạt giải pháp dữ liệu, AI và điện toán riêng tư mới của Synology

    03/06/2026

    Những rủi ro tiềm ẩn khó lường khi doanh nghiệp sử dụng phần mềm lậu, không có bản quyền

    01/06/2026

    WordPress 7.0 ra mắt hạ tầng AI mới, cảnh báo nguy cơ đánh cắp khóa API xuất hiện ngay ngày đầu

    23/05/2026

    HONOR 600 Series ra mắt, giá từ 9,99 triệu đồng, nổi bật với camera 200MP và pin 7.000mAh

    11/06/2026

    Smartphone Xiaomi 17T Series ghi nhận doanh số đặt trước tăng 40% sau một tuần ra mắt

    10/06/2026

    iPhone 18 Pro có thể dùng modem Apple C2: Tăng pin, nâng riêng tư và cải thiện kết nối

    10/06/2026

    COMPUTEX 2026: Trải nghiệm nhanh Acer Swift Air 14 – mỏng nhẹ, thực dụng và đủ chinh phục số đông

    03/06/2026

    Mở hộp, lắp đặt và thiết lập TCL QD-Mini LED 65A400M: Chiếc TV là điểm nhấn nội thất hiện đại

    12/06/2026

    Rakuten Viber ra mắt tính năng theo dõi bóng đá trực tiếp dành cho người dùng Việt Nam

    11/06/2026

    Microsoft giới thiệu MAI-Thinking-1, hướng tới giảm phụ thuộc OpenAI và Anthropic

    09/06/2026

    WWDC 2026: 7 công bố đáng chú ý nhất của Apple, từ Siri AI đến iOS 27 và macOS Golden Gate

    09/06/2026

    Top 3 laptop Acer Nitro ProPanel đáng mua năm 2026: Chọn cấu hình cân bằng, hiệu năng cao hay tối ưu chi phí?

    12/06/2026

    COMPUTEX 2026: Predator Helios 18 AI và Nitro 16 – Acer mang sức mạnh AI PC và gaming lên một tầm cao mới

    03/06/2026

    COMPUTEX 2026: CORSAIR mở rộng thế hệ thiết bị gaming thông minh với Hall Effect, Stream Deck và âm thanh mới

    03/06/2026

    COMPUTEX 2026: Corsair mang ghế gaming, giải pháp làm mát và ra mắt phụ kiện cá nhân hóa mới

    03/06/2026

    LG tái hiện không gian sống của MINHO tại Việt Nam, đưa AI thấu cảm vào đời sống thường nhật

    12/06/2026

    Mở hộp, lắp đặt và thiết lập TCL QD-Mini LED 65A400M: Chiếc TV là điểm nhấn nội thất hiện đại

    12/06/2026

    LG ra mắt PuriCare 360 HIT thế hệ mới với công nghệ lọc khí 360° và AI tiết kiệm năng lượng

    09/06/2026

    MOVA ra mắt E50 Ultra và V70 Ultra Complete, nâng tầm trải nghiệm làm sạch thông minh tại Việt Nam

    05/06/2026

    Sony ALPHA 7R VI có giá 114 triệu đồng: Máy ảnh full-frame 67MP kết hợp tốc độ và độ phân giải vượt trội

    15/05/2026

    Canon ra mắt EOS R6 V giá 56,99 triệu đồng và ống kính Power Zoom RF20-50mm F4 L IS USM PZ tại Việt Nam

    14/05/2026

    Sony giới thiệu Alpha 7 V: Định nghĩa lại chuẩn máy ảnh Hybrid Full-frame với sức mạnh AI thế hệ mới

    09/12/2025

    Canon giới thiệu EOS R6 Mark III và ống kính RF 45mm f/1.2 STM – nâng tầm nhiếp ảnh và quay phim

    06/11/2025

    Corsair iCUE LINK 3500X RGB & NAUTILUS 360 RS ARGB White: Combo build PC trắng đẹp, mát và dễ chơi

    30/05/2026

    Samsung mở Quick Share kết nối iPhone trên dòng Galaxy S26, phá vỡ rào cản chia sẻ file

    23/03/2026

    NVIDIA giới thiệu cách tối ưu GPU cho AI bằng cách kết hợp NVIDIA Run:ai và NVIDIA NIM

    06/03/2026

    MacBook Neo vs MacBook Air đời cũ: Nên mua hay chọn thế nào để có hiệu năng và hiệu quả tốt hơn?

    06/03/2026
  • Khoa học
TechTimes VietnamTechTimes Vietnam
The Rust logo alongside an illustration of a stack of crates bearing the same logo

Cách làm việc với các tệp TOML trong Rust

23/06/2023Media Outreach9 phút để đọc

Các tệp cấu hình đóng vai trò quan trọng trong việc phát triển phần mềm và quản trị hệ thống để tùy chỉnh và tinh chỉnh hành vi của phần mềm nhằm làm cho chúng có thể thích ứng với các môi trường và sở thích khác nhau của người dùng. Có nhiều loại tệp cấu hình, như YAML và TOML.

HOT
⚡ Tin công nghệ nóng mỗi ngày tại TechWire.vn
Xem ngay →



TOML (Tom’s Obvious Minimal Language) nổi bật như một tùy chọn mạnh mẽ và thân thiện với người dùng trong số nhiều định dạng tệp cấu hình cho cú pháp của nó và cách nó giải quyết những thiếu sót của các định dạng tệp cấu hình hiện có để cung cấp một giải pháp thay thế trực quan và đơn giản hơn.



Hiểu tệp TOML

Về cốt lõi, định dạng tệp TOML thể hiện dữ liệu có cấu trúc ở định dạng mà con người có thể đọc được. TOML tự phân biệt với thiết kế tối giản và trực quan theo cấu trúc cặp khóa-giá trị trong đó mỗi khóa đại diện cho một tùy chọn cấu hình được liên kết với một giá trị xác định cài đặt của nó.

Định dạng tệp TOML dựa trên các quy tắc cú pháp đơn giản ưu tiên khả năng đọc, giúp con người và máy móc có thể truy cập được. Một tính năng đáng chú ý của TOML là nó hỗ trợ nhiều loại dữ liệu khác nhau, bao gồm chuỗi, số nguyên, số dấu phẩy động, booleans, mảng và bảng.

Tính linh hoạt của TOML cho phép bạn dễ dàng thể hiện các cấu hình phức tạp để phù hợp với nhiều trường hợp sử dụng hơn. TOML cung cấp nhiều tính năng và chức năng, làm cho nó trở thành lựa chọn lý tưởng cho các mục đích cấu hình.

  1. cấu trúc trực quan: TOML sử dụng cấu trúc phân cấp bao gồm bảng, cặp khóa-giá trị và mảng. Tổ chức của TOML cho phép thể hiện rõ ràng và hợp lý các cài đặt cấu hình phức tạp.
  2. Nhận xét và khoảng trắng: TOML hỗ trợ nhận xét nội tuyến và nhiều dòng, cho phép bạn chú thích và ghi lại các tệp cấu hình của mình một cách hiệu quả. Khoảng trắng được bỏ qua chủ yếu để đảm bảo khả năng đọc và giảm tiếng ồn không cần thiết.
  3. gõ mạnh: Mỗi giá trị trong TOML được liên kết với một kiểu dữ liệu cụ thể, từ chuỗi đến số nguyên, số float, booleans và ngày tháng. Hỗ trợ thực thi gõ mạnh của TOML trong việc duy trì tính toàn vẹn của dữ liệu để xử lý không có lỗi.
  4. Hỗ trợ cho các cấu trúc lồng nhau: TOML tạo điều kiện cho các bảng lồng nhau trong các bảng để biểu diễn cấu hình phân cấp. Các cấu trúc lồng nhau có lợi khi xử lý các cài đặt đa chiều hoặc các thiết lập ứng dụng phức tạp.
  5. Hỗ trợ mảng và bảng nội tuyến: TOML cung cấp các mảng và bảng nội tuyến để linh hoạt trong việc thể hiện các cấu trúc dữ liệu dư thừa hoặc nhỏ gọn.

TOML tuân theo các quy tắc và quy ước xác định cú pháp và cấu trúc của nó. Định dạng này dựa trên các cặp khóa-giá trị thụt lề và khóa-giá trị để biểu thị dữ liệu cấu hình.

Dưới đây là một ví dụ về tệp TOML đơn giản để cấu hình:

 [server]
port = 8080
host = "localhost"
debug = false

[database]
name = "mydatabase"
username = "admin"
password = "secretpassword"

Tệp TOML này có hai phần chứa các cặp khóa-giá trị đại diện cho các tùy chọn cấu hình cụ thể. Ở đây, Hải cảng chìa khóa trong [server] phần chỉ định một số cổng trên chủ nhà khóa chỉ định tên máy chủ của máy chủ.

Làm việc với các tệp TOML trong Rust

Rust, một ngôn ngữ tự hào về tính an toàn, hiệu suất và trải nghiệm của nhà phát triển, đã chọn các tệp TOML làm định dạng cấu hình do tích hợp liền mạch với đặc tính của nó.

Bạn có thể cho rằng quyết định sử dụng TOML của Rust là do một số yếu tố chính. Đầu tiên, TOML tạo ra sự cân bằng hài hòa giữa khả năng đọc và tính biểu cảm. Ngoài ra, cách tiếp cận tối giản của TOML đảm bảo nó không có sự phức tạp không cần thiết, phù hợp với triết lý thiết kế của Rust.

Có nhiều thùng của bên thứ ba để làm việc với các tệp TOML trong hệ sinh thái của Rust, với toml thùng là một trong những phổ biến nhất.

Các toml crate cung cấp hỗ trợ toàn diện để phân tích cú pháp, thao tác và tuần tự hóa dữ liệu TOML, làm cho nó trở thành một công cụ không thể thiếu để xử lý các tệp cấu hình và dữ liệu có cấu trúc trong các ứng dụng Rust.

Hình ảnh xem trước GitHub thùng toml

Để làm việc với các gói của bên thứ ba trong Rust, hãy tạo một dự án Rust với Cargo và thêm lệnh này vào phụ thuộc phần của dự án của bạn Cargo.toml tập tin để cài đặt và sử dụng toml thùng trong các dự án Rust của bạn:

 [dependencies]
toml = "0.5"

Đối với tuần tự hóa và giải tuần tự hóa dữ liệu TOML, bạn sẽ cần thùng serde. Các toml thùng tương tác tốt với người chăn bò để xử lý dữ liệu.

 [dependencies]
serde = { version = "1.0", features = ["derive"] }
toml = "0.5"

Một khi bạn đã thêm toml Và người chăn bò thùng dưới dạng phụ thuộc, bạn có thể nhập chúng vào mã Rust của mình và sử dụng các chức năng của nó.

 use toml;

Các toml crate có thể đọc, viết và phân tích các tệp TOML.

Đọc tệp TOML với Rust

Sau khi thêm toml thùng làm phần phụ thuộc của dự án và nhập thùng vào dự án của bạn, bạn có thể đọc các tệp TOML trong chương trình Rust của mình.

Trước tiên, bạn cần mở tệp TOML có tích hợp sẵn fs thùng của Tài liệu cấu trúc:

 use std::fs::File;
use std::io::Read;

fn main() {
    let mut file = File::open("config.toml").expect("Failed to open file");
    let mut contents = String::new();
    file.read_to_string(&mut contents)
        .expect("Failed to read file");

    
    println!("{}", contents);
}

Các chủ yếu chức năng mở một hàng hóa.toml tập tin với Mở tập tin và đọc nội dung của tệp thành một chuỗi với read_to_string trước khi in nội dung ra bàn điều khiển với inln! vĩ mô.

Đọc nội dung của tệp TOML dưới dạng chuỗi rất hữu ích, nhưng trong hầu hết các trường hợp, bạn muốn tải dữ liệu sang định dạng có cấu trúc hơn. Rust cho phép chúng tôi xác định các loại cấu trúc đại diện cho cấu trúc dữ liệu của các tệp TOML của chúng tôi. Bây giờ bạn có thể sử dụng toml crate để tự động giải tuần tự hóa dữ liệu TOML thành các cấu trúc này.

Đây là cách bạn có thể đọc nội dung của dự án của bạn Cargo.toml tệp và in chúng ra bàn điều khiển:

 use serde::Deserialize;
use std::fs;

#[derive(Debug, Deserialize)]
struct CargoToml {
    #[allow(dead_code)]
    package: Package,
    #[allow(dead_code)]
    dependencies: Dependencies,
}

#[derive(Debug, Deserialize)]
struct Package {
    #[allow(dead_code)]
    name: String,
    #[allow(dead_code)]
    version: String,
    #[allow(dead_code)]
    edition: String,
}

#[derive(Debug, Deserialize)]
struct Dependencies {
    #[allow(dead_code)]
    serde: SerdeDependency,
    #[allow(dead_code)]
    toml: String,
}

#[derive(Debug, Deserialize)]
struct SerdeDependency {
    #[allow(dead_code)]
    version: String,
    #[allow(dead_code)]
    features: Vec<String>,
}

fn main() {
    let toml_str = fs::read_to_string("Cargo.toml").expect("Failed to read Cargo.toml file");

    let cargo_toml: CargoToml = toml::from_str(&toml_str).expect("Failed to deserialize Cargo.toml");

    println!("{:#?}", cargo_toml);
}

Các Toml hàng hóa, Bưu kiện, phụ thuộcVà SerdePhụ thuộc cấu trúc đại diện cho cấu trúc của tệp TOML. Các cấu trúc được chú thích với #[allow(dead_code)] các thuộc tính để tắt cảnh báo mã chết cho các cấu trúc.

Các chủ yếu chức năng đọc nội dung của Cargo.toml tập tin vào toml_str biến và from_str phương pháp của toml crate đọc chuỗi TOML và giải tuần tự hóa nội dung vào hàng hóa_toml Biến đổi.

Đây là kết quả của việc chạy chủ yếu chức năng:

kết quả từ việc in nội dung của tệp Cargo.toml

Ghi dữ liệu vào tệp TOML bằng Rust

Việc ghi dữ liệu vào các tệp TOML rất thuận tiện để tạo các tệp cấu hình từ các chương trình của bạn.

Đây là cách tuần tự hóa một cấu trúc thành TOML và ghi nội dung vào một config.toml tệp trong thư mục gốc của dự án của bạn:

 use std::fs::File;
use std::io::Write;
use serde::Serialize;
use toml::to_string;

#[derive(Serialize)]
struct ServerConfig {
    host: String,
    port: u16,
    timeout: u32,
}

fn write_config_to_file(config: &ServerConfig, file_path: &str) -> Result<(), Box<dyn std::error::Error>> {
    let toml_string = to_string(config)?;
    let mut file = File::create(file_path)?;
    file.write_all(toml_string.as_bytes())?;
    Ok(())
}

fn main() {
    let config = ServerConfig {
        host: "localhost".to_owned(),
        port: 8000,
        timeout: 30,
    };

    if let Err(e) = write_config_to_file(&config, "config.toml") {
        eprintln!("Error: {}", e);
    } else {
        println!("Config file created successfully.");
    }
}

Các write_config_to_file chức năng đề cập đến một thể hiện của Cấu hình máy chủ cấu trúc và đường dẫn tệp cho config.toml tệp chuyển đổi thể hiện cấu trúc thành một chuỗi và tạo config.toml tệp trong đường dẫn tệp được chỉ định. Cuối cùng, nó ghi chuỗi TOML vào tệp TOML bằng cách sử dụng write_all chức năng.

Các chủ yếu chức năng khởi tạo một Cấu hình máy chủ đối tượng cấu trúc, gọi write_config_to_file với dữ liệu cần thiết và in một thông báo tới bàn điều khiển dựa trên trạng thái hoạt động.

Cargo sử dụng tệp TOML để quản lý phụ thuộc

Cargo, trình quản lý phụ thuộc của Rust và công cụ xây dựng, sử dụng các tệp TOML để chỉ định và quản lý các phụ thuộc.

Khi bạn tạo một dự án Rust mới với Cargo, nó sẽ tạo một tệp Cargo.toml trong thư mục gốc của dự án, đóng vai trò là tệp kê khai cho dự án của bạn. Tại đây, bạn có thể khai báo siêu dữ liệu, phần phụ thuộc, cấu hình bản dựng và các cài đặt khác của dự án.

Nguồn: Tổng hợp – được thực hiện thử nghiệm bằng NLP và trí tuệ nhân tạo, vui lòng nhấn báo lỗi để góp ý

Theo dõi TechTimes trên Google News
Chia sẻ. Copy Link Facebook Twitter Pinterest LinkedIn Tumblr Email WhatsApp
Bài trướcÔng Wolfgang Tatzer được bổ nhiệm làm Giám đốc điều hành (CEO) của Công ty Topcast
Bài tiếp theo Dòng Motorola Razr 40 sẽ đến Ấn Độ vào ngày 3 tháng 7

Bài viết liên quan

[COMPUTEX 2026] GTC Taipei 2026: Jensen Huang Unveils NVIDIA’s Vision for the Agentic AI Era

iOS 27 Rumored to Bring Major Camera and Photos App Upgrades

Microsoft Finally Brings Movable Taskbar Back to Windows 11

Largest Brain-Scan Study Links Anxiety Disorders to Lower Choline Levels

NVIDIA Introduces Open “Ising” AI Models to Push Quantum Computing Toward Real-World Applications

Apple Sets WWDC 2026 for June 8–12 With Global Online Access

LIVE COMPUTEX 2026
AI Together | Tin nóng cập nhật liên tục từ TechTimes.vn
    © TechTimes.vn | COMPUTEX 2026 Coverage
    • Facebook
    • Twitter
    • Instagram
    • YouTube
    • LinkedIn
    • TikTok
    Đánh giá mới
    9.0

    Corsair VANGUARD AIR 99 Wireless: Bàn phím gaming cao cấp cho cả chơi game lẫn sáng tạo nội dung

    19/05/2026
    9.7

    Đánh giá OPPO Find X9s: Khi smartphone nhỏ gọn mang tham vọng thay thế máy ảnh chuyên nghiệp

    09/05/2026
    9.5

    Đánh giá realme P4 Power 5G: Pin 10.001 mAh không chỉ là con số, mà là trải nghiệm thay đổi cách dùng smartphone

    09/04/2026
    9.4

    Đánh giá EPSON EcoTank M2050: Máy in – scan – copy trắng đen tiết kiệm, bền bỉ cho văn phòng hiện đại

    05/04/2026
    9.3

    Đánh giá Sony LinkBuds Clip WF-LC900: Trải nghiệm nghe mở đúng nghĩa, dành cho nhịp sống luôn kết nối

    05/04/2026
    Được quan tâm nhiều
    Bảo mật

    Video nhạy cảm từ ‘hack’ camera rao bán tràn lan trên mạng Internet

    16/04/2021Gia Nguyên

    Mục tiêu chính của các nhóm tội phạm là hack camera giấu kín tại các…

    Cách lấy lại lịch sử Chat GPT bị mất của bạn

    08/04/2023

    Giá rò rỉ Samsung Galaxy Z Fold 7 và Z Flip 7 tại châu Âu cho thấy mức tăng đáng kể

    25/06/2025

    Cách khắc phục lỗi không lưu được file PDF đã sửa

    15/05/2022

    Tải về hình nền wallpaper iPhone 16 và iPhone 16 Pro, Pro Max

    10/09/2024

    Sức mạnh laptop gaming AI Acer Predator 2025 chinh phục mọi tựa game AAA

    21/06/2025

    Cách cài đặt Ryujinx làm Trình giả lập Nintendo Switch cho PC của bạn

    12/07/2023

    Microsoft tung các cải tiến mới nhất của AI trong Bing và Edge

    08/05/2023

    Download tải về hình nền wallpaper iPhone 15, 15 Pro và 15 Pro Max

    13/09/2023

    Cách tạo trang bìa trong Google Docs

    21/04/2023

    Cách lưu hình ảnh từ Google Maps

    31/05/2023

    Cách lưu các mẫu và thành phần Canva yêu thích của bạn bằng cách gắn dấu sao cho chúng

    21/06/2023
    DMCA.com Protection Status DMCA Compliance Information
    TechTimes Vietnam
    Facebook X (Twitter) Instagram YouTube LinkedIn TikTok
    TechTimes là trang thông tin điện tử tổng hợp; Cơ quan chủ quản: Công ty TNHH TechTimes; Địa chỉ: 39/8A đường 475, khu phố 41, P. Phước Long, TP. HCM; Chịu trách nhiệm nội dung: Ông NGUYỄN VĂN ĐÔ; Giấy phép: Giấy phép thiết lập trang thông tin điện tử tổng hợp số 39/GP-STTTT do Sở Thông tin và Truyền thông Thành phố Hồ Chí Minh cấp ngày 21/08/2017; Giấy phép bổ sung số 23/GP-STTTT cấp ngày 23/03/2021 và quyết định cập nhật số 03/QĐ-STTTT-ICP do Sở TTTT cấp ngày 01/03/2024.

    © 2026 TechTimes.vn - Cập nhật liên tục tin tức, đánh giá sản phẩm, chia sẻ kinh nghiệm sử dụng sản phẩm công nghệ cao, nhận định - phân tích từ chuyên gia uy tín - Email: info@techtimes.vn , Điện thoại: 0935014085• Powered by vHost

    Gõ từ khoá và nhấn Enter để tìm kiếm bài viết trên TechTimes. Nhấn Esc để huỷ.