如何在 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+ 浏览量

启动你的 职业生涯

通过完成课程获得认证

开始
广告