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的信息,您可以查阅这些教程。