Golang 将字符串转换为大写字母
字符串是Golang中的一种内置数据类型,用于表示字符序列。它们使用双引号(”)定义,可以包含任何有效的Unicode字符。在本文中,我们将编写一个Go语言程序将字符串转换为大写字母。我们将看到使用for循环和库函数来实现相应转换的用法。
方法1:使用用户定义的函数
在此方法中,我们将创建一个用户定义的函数来将字符串转换为大写。执行该操作的步骤如下:
步骤
- 步骤1 - 首先,我们需要导入fmt包。
-
步骤2 - 然后,创建一个函数来将字符串转换为大写。该函数接受字符串作为参数。将得到的字符串转换为字节变量,并使用for循环遍历字节。
-
步骤3 - 现在,如果构成字符串的字符是小写字母,则从字节中取出该特定字符,并从a和A之间的差值中减去,差值为32。
-
步骤4 - 然后,将差值从字节数组的值中减去,并将其存回字节数组。
-
步骤5 - 返回字节数组。开始main()函数。在main()内部初始化一个字符串,并在屏幕上打印它。
-
步骤6 - 现在调用ToUpper()函数,并将字符串作为参数传递给它。将结果存储在一个名为result的变量中,并将结果打印在屏幕上。
示例
在这个示例中,我们将编写一个Go语言程序,通过使用外部函数将字符串转换为大写字母。
package main
import (
"fmt"
)
//function to convert characters to upper case
func ToUpper(s string) string {
b := []byte(s)
for i, c := range b {
if c >= 'a' && c <= 'z' {
b[i] = c - ('a' - 'A')
}
}
return string(b)
}
func main() {
var input string = "convert this string to uppercase"
fmt.Println("The given string is:\n", input)
var output string = ToUpper(input)
fmt.Println()
fmt.Println("String obtained by converting the above string to uppercase is:\n", output)
}
输出
The given string is:
convert this string to uppercase
String obtained by converting the above string to uppercase is:
CONVERT THIS STRING TO UPPERCASE
方法2:使用内部函数
在这个方法中,我们将使用golang的内部函数将普通字符串转换为大写字符串。此方法中使用的语法如下所述:
语法
func ToUpper(r rune) rune
ToUpper()函数存在于unicode包中,用于将给定的字符串转换为大写。它以rune字符作为参数,并通过将给定的rune转换为大写来返回一个大写的rune。
func ToUpper(str string) string
ToUpper()函数存在于strings包中,用于将给定字符串转换为大写。该函数接受给定字符串作为参数,并返回将其转换为大写后的最终字符串。
func ToTitle(str string) string
ToTitle()函数存在于字符串包中,用于将字符串转换为大写。该函数将要转换的字符串作为参数传递,并返回转换为大写后的字符串。
步骤
- 步骤1 - 首先,我们需要导入fmt和Unicode包。
-
步骤2 - 现在,创建toUpper()函数,该函数接受要更改大小写的字符串并返回该字符串。在函数内部,我们首先将获得的字符串转换为rune,然后使用for循环遍历rune数组。
-
步骤3 - 如果数组的字符为小写,则需要使用Unicode.Upper()函数将其转换为大写,将该字符作为参数传递给它。
-
步骤4 - 现在,逐个将字符存储在初始化的数组中,并返回最终数组。
-
步骤5 - 现在,启动main()函数。在这里,初始化一个类型为string的变量并将值存储在其中。进一步在屏幕上打印数组。
-
步骤6 - 通过将字符串作为参数传递给ToUpper()函数,并将结果存储在变量中并在屏幕上打印。
示例1
在此示例中,我们将使用Unicode包将给定的字符串转换为大写字符。在此函数中,我们将逐个使用字符串的字符将其转换为大写。
package main
import (
"fmt"
"unicode"
)
func ToUpper(s string) string {
a := []rune(s)
for i, c := range a {
if unicode.IsLower(c) {
a[i] = unicode.ToUpper(c)
}
}
return string(a)
}
func main() {
var input string = "convert this string to uppercase"
fmt.Println("The given string is:\n", input)
var output string = ToUpper(input)
fmt.Println()
fmt.Println("The string obtained by converting above string to uppercase is:\n", output)
}
输出
The given string is:
convert this string to uppercase
The string obtained by converting above string to uppercase is:
CONVERT THIS STRING TO UPPERCASE
示例2
在这个示例中,我们将编写一个Go语言程序,使用strings包中的ToUpper()函数将字符串转换为大写。
package main
import (
"fmt"
"strings"
)
func main() {
var input string = "convert this string to uppercase"
fmt.Println("The given string is:\n", input)
var output string = strings.ToUpper(input)
fmt.Println()
fmt.Println("The string obtained by converting the given string to uppercase is:\n", output)
}
输出
The given string is:
convert this string to uppercase
The string obtained by converting the given string to uppercase is:
CONVERT THIS STRING TO UPPERCASE
示例3
在这个示例中,我们将使用Go语言程序使用ToTitle()函数将字符串转换为大写。
package main
import (
"fmt"
"strings"
)
func main() {
var str string = "This is a string to be converted"
fmt.Println("The given string is:\n", str)
fmt.Println()
var res string = strings.ToTitle(str)
fmt.Println("The string obtained by converting the above string to uppercase is:\n", res)
}
输出
The given string is:
This is a string to be converted
The string obtained by converting the above string to uppercase is:
THIS IS A STRING TO BE CONVERTED
结论
我们成功地编译和执行了一个Go语言程序,将字符串转换为大写,并提供了示例。
极客笔记