第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 GoLang 和 Rust 中初始化字符串?dāng)?shù)組

在 GoLang 和 Rust 中初始化字符串?dāng)?shù)組

Go
溫溫醬 2022-01-17 10:34:13
我想初始化一個二維數(shù)組,其中內(nèi)部數(shù)組的每個成員都包含一個 1000 x 的字符串。就像是:var data = [num_rows][num_cols]string("x....x(upto 1000)")但是所有的谷歌搜索都是徒勞的。在 C++ 中,我可以實(shí)現(xiàn)類似的事情:vector<vector<string>> data(num_rows, vector<string>(num_cols, string("x",1000)));在 Ruby 中是這樣的:Array.new(num_rows) { Array.new(num_cols) { "x"*1000 } }想要在 go 中獲得類似的結(jié)果,但我找不到任何文檔來填充字符串并初始化 2D 數(shù)組。另請注意,我想為數(shù)組的每個成員生成字符串,而不是使用可用的字符串。PS:我也在 Rust 中尋找類似的東西
查看完整描述

3 回答

?
海綿寶寶撒

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個贊

在 Rust 中,這取決于您要將這些值用于什么目的。我喜歡這個創(chuàng)建重復(fù)字符串的答案?!靶小比Q于您是否需要在 rust 中明確表示的引用或復(fù)制語義。borrows向量是一堆借來的字符串,它們引用x_s. 向量是原始字符串的copies一堆內(nèi)存副本。x_s


use std::iter;


fn main() {

    let num_rows = 1000;

    let num_cols = 1000; 


    let x_s : String = iter::repeat('x').take(num_cols).collect();


    // pick one of the below

    let borrows : Vec<&str> = vec![&*x_s ; num_rows];

    let copies : Vec<String> = vec![x_s.clone() ; num_rows];

}

最后一行中的調(diào)用clone是因?yàn)関ec宏將發(fā)送的值移動到其中。在. vec_ num_rows_ copies請注意,clone在大多數(shù)用例中這可能不是必需的,因?yàn)槟ǔ2粫orrows同時copies在同一范圍內(nèi)。


作為警告,我對生銹還很陌生,但相信這是一個不錯的答案。我很高興接受更正。


查看完整回答
反對 回復(fù) 2022-01-17
?
莫回?zé)o

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個贊

你可以使用切片。這可能不是最短的解決方案,但它對我有用。


package main


import (

    "fmt"

    "strings"

)


func main() {

    xs := strings.Repeat("x", 1000)


    num_rows := 5

    num_cols := 5


    data := make([][]string, num_rows)

    for y := 0; y < num_rows; y++ {

        data[y] = make([]string, num_cols)

        for x := 0; x < num_cols; x++ {

            data[y][x] = xs

        }

    }


    fmt.Printf("%T", data)

    fmt.Print(data)

}


查看完整回答
反對 回復(fù) 2022-01-17
?
胡子哥哥

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個贊

一個非常簡單的 rust 在線示例:


fn main() {

    let data: Vec<String> = (0..1000).map(|n| (0..n).map(|_| 'x').collect()).collect();

    println!("{:?}", data);

}


查看完整回答
反對 回復(fù) 2022-01-17
  • 3 回答
  • 0 關(guān)注
  • 379 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號