Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah persamaan Rust dengan tambahan dalam Go?

Apakah persamaan Rust dengan tambahan dalam Go?

WBOY
WBOYke hadapan
2024-02-09 10:24:32361semak imbas

Rust 相当于 Go 中的append 是什么?

editor php Xigua berada di sini untuk menjawab soalan untuk semua orang: "Apakah yang bersamaan dengan Rust untuk ditambahkan dalam Go ialah bahasa pengaturcaraan peringkat sistem dan Go ialah bahasa pengaturcaraan serentak. Dalam Rust, fungsi yang setara dengan fungsi tambah dalam Go ialah menggunakan kaedah tolak jenis Vec. Vec ialah jenis tatasusunan dinamik dalam perpustakaan standard Rust Gunakan kaedah tolak untuk menambah elemen pada penghujung tatasusunan. Fungsi ini serupa dengan fungsi tambah dalam Go, tetapi dalam Rust ia perlu dilaksanakan menggunakan kaedah tolak Vec. Dengan cara ini, Rust menyediakan cara yang mudah dan fleksibel untuk memanipulasi tatasusunan dinamik.

Kandungan soalan

Saya cuba memikirkannya dengan membaca dokumentasi sendiri tetapi tidak berjaya cara menukar fungsi go ini kepada karat:

func main() {
  cards := []string{"ace of diamonds", newcard()}
  cards = append(cards, "six of spades")

  fmt.println(cards)
}

func newcard() string {
  return "five of diamonds"
}

Ini tidak betul, sekurang-kurangnya kad.tambahan yang saya tahu adalah salah:

fn main() {
    let mut cards: [&str; 2] = ["Ace of Diamonds", new_card()];
    let mut additional_card: [&str; 1] = ["Six of Spades"];
    cards.append(additional_card);

    println!("cards")
}

fn new_card() -> &'static str  {
    "Five of Diamonds"
}

Penyelesaian

Anda tidak boleh. Sama seperti dalam perjalanan, tatasusunan karat adalah saiz tetap.

Taip [&str; 2]rust 中的 大致相当于 go 中的 [2]string,但你也不能对其进行 append .

Dalam karat, perkara yang paling dekat untuk dihiris ialah vec yang boleh anda gunakan seperti ini:

fn main() {
    let mut cards = vec!["Ace of Diamonds", new_card()];
    let additional_cards: [&str; 2] = ["Six of Spades", "Seven of Clubs"];
    // for anything that implements `IntoIterator` of cards
    cards.extend(additional_cards);
    // or for a single card only
    cards.push("Three of Hearts");

    println!("{cards:?}")
}

fn new_card() -> &'static str {
    "Five of Diamonds"
}

Atas ialah kandungan terperinci Apakah persamaan Rust dengan tambahan dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam