簡體   English   中英

如何在 Rust 中執行已實現的方法?

[英]How do I execute an implemented method in Rust?

我無法執行在 Solution impl 中實現的名稱為two_sum的方法。
我想知道如何從main執行two_sum方法。

我的源代碼在這里。

impl Solution {
    pub fn two_sum(num: i32) -> i32 {
        num + 1
    }
}

fn main() {
    let result = Solution::two_sum(1);
    println!("{:?}", result);
}

錯誤信息

failed to resolve: use of undeclared type Solution
use of undeclared type Solution

您需要定義什么是Solution ,然后再實施 two_sum。 一種方法是您可以將Solution定義為空結構。

struct Solution;

impl Solution {
    pub fn two_sum(num: i32) -> i32 {
        num + 1
    }
}

fn main() {
    let result = Solution::two_sum(1);
    println!("{:?}", result);
}

嗯,首先,你的two_sum是一個關聯函數,而不是一個方法。 其次,它沒有任何關聯——您沒有聲明名為Solution的類型(您至少需要編寫struct Solution; )。 第三,您不需要Debug i32 ,所以我們將用 {} 替換{:?} {}


struct Solution;

impl Solution {
    pub fn two_sum(num: i32) -> i32 {
        num + 1
    }
}

fn main() {
    let result = Solution::two_sum(1);
    println!("{}", result);
}

第四,創建一個類型只是為了編寫一個函數是一種非常糟糕的做法。

那我們要做什么?

fn two_sum(num: i32) -> i32 {
    num + 1
}

fn main() {
    let result = two_sum(1);
    println!("{}", result);
}

而已! 我不知道你為什么稱它為two_sum

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM