如何在 Golang 函式中返回字串?


在程式設計中,為了使程式碼更模組化、更易用和更易讀,我們將程式碼分解成不同的較小塊,這些塊被稱為函式。字串是一種資料結構,由一組字母組成。在解決任何程式設計問題時,我們希望函式返回一組字母,然後我們在函式中建立一個字串,該函式最終返回該字串。

本教程將透過兩個示例來解釋這個概念。

  • 在第一個示例中,我們將定義兩個字串並建立一個函式,該函式將返回長度較長的字串;

  • 在第二個示例中,我們將建立一個函式,在該函式中我們將反轉字串並在函式末尾返回它。

方法 1

演算法

  • 步驟 1:var stringVariable1, stringVariable2 string − 宣告字串變數。

  • 步驟 2:stringVariable1 = "tutorialpoints" stringVariable2 = "tutorial" − 初始化字串變數。

  • longerStringVariable := longerString(stringVariable1, stringVariable2) − 使用兩個引數呼叫函式,該函式將返回較長的字串並將其儲存到變數中。

    • if len(stringVariable1) >= len(stringVariable2) { } − 使用 len() 函式比較傳遞到引數中的兩個字串,如果第一個字串較長,則返回第一個字串。

    • else {} − 在 else 條件下返回第二個字串。

  • 在函式末尾列印較長的字串。

示例

在此示例中,我們將返回長度較長的字串。為了實現這一點,我們將使用len()函式,該函式返回傳遞到函式中的變數的長度。

package main

import (
    // fmt package provides the function to print anything
    "fmt"
)

// golang function with string parameter and string return type
func longerString(stringVariable1, stringVariable2 string) string {
    //Comparing the length of both the strings
    if len(stringVariable1) >= len(stringVariable2) {
        // returning first string if it longer
        return stringVariable1
    } else {
        // returning second string if it longer
        return stringVariable2
    }
}

func main() {
    // declaring the string
    var stringVariable1, stringVariable2 string

    //Initializing the string
    stringVariable1 = "tutorialpoints"
    stringVariable2 = "tutorial"

    fmt.Println("Golang program to return a string from the function.")

    // passing argument in the function and storing the longer string in a variable
    longerStringVariable := longerString(stringVariable1, stringVariable2)

    fmt.Println("The longer string is", longerStringVariable)

}

輸出

Golang program to return a string from the function.
The longer string is tutorialpoints

演算法

  • 步驟 1:var stringVariable string − 宣告字串變數。

  • 步驟 2:string = "tutorialpoints" − 初始化字串變數。

  • 步驟 3:reverseStringVariable := reverseString(stringVariable) − 透過向其傳遞字串變數並將其儲存到變數中來呼叫一個函式來反轉字串。

    • runeArray := []rune(stringVariable) − 從傳遞到引數中的字串建立 rune。

    • ○ for i := 0; i < len(stringVariable)/2; i++ {} − 執行一個 for 迴圈,直到字串長度的一半。

    • runeArray[i], runeArray[len(stringVariable)−i−1] = runeArray[len(stringVariable)−i−1], runeArray[i] − 我們在這裡使用的概念是,我們將第 i 個元素與 len − i 索引元素交換。

    • 透過將其轉換為字串來返回 rune。

  • 列印反轉後的陣列。

示例

在此示例中,我們將使用 for 迴圈反轉字串並在函式末尾返回它。

package main

import (
    // fmt package provides the function to print anything
    "fmt"
)

// golang function with string parameter and string return type
func reverseString(stringVariable string) string {
    //Creating a rune from the string
    runeArray := []rune(stringVariable)

    // running a for loop over the rune from 0 till half
    // of the length of the string
    for i := 0; i < len(stringVariable)/2; i++ {
        // swapping the ith and len - i element
        runeArray[i], runeArray[len(stringVariable)-i-1] = runeArray[len(stringVariable)-i-1], runeArray[i]
    }

    return string(runeArray)
}

func main() {
    // declaring the string
    var stringVariable string

    // initializing the string
    stringVariable = "tutorialpoints"

    fmt.Println("Golang program to return a string from the function.")

    // passing argument in the function and storing the reversed string in a variable
    reverseStringVariable := reverseString(stringVariable)

    fmt.Println("The reversed string of", stringVariable, "is", reverseStringVariable)

}

輸出

Golang program to return a string from the function.
The reversed string of tutorialpoints is stnioplairotut

結論

這是從函式返回字串的兩個示例,在第一個示例中,我們返回了長度較長的字串,在第二個示例中,我們返回了傳遞到引數中的字串的反轉。要了解有關 go 的更多資訊,您可以瀏覽這些教程

更新於: 2023年7月10日

2K+ 瀏覽量

啟動你的 職業生涯

透過完成課程獲得認證

開始
廣告