Go语言程序:将字符串转换为大写
在Go语言中,字符串是一种内置数据类型,表示字符序列。它们用双引号(")定义,可以包含任何有效的Unicode字符。在本文中,我们将编写一个Go语言程序来将字符串转换为大写。我们将学习使用for循环和库函数来进行转换。
方法一:使用用户自定义函数
在这个方法中,我们将创建一个用户自定义函数来将字符串转换为大写。执行步骤如下:
算法
步骤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
方法二:使用内置函数
在这个方法中,我们将使用Go语言的内置函数将普通字符串转换为大写字符串。此方法中使用的语法解释如下:
语法
func ToUpper(r rune) rune
unicode包中的ToUpper()函数用于将给定字符串转换为大写。它接受rune字符作为参数,并通过将给定的rune转换为大写来返回大写rune。
func ToUpper(str string) string
strings包中的ToUpper()函数用于将给定字符串转换为大写。该函数接受给定的字符串作为参数,并在将其转换为大写后返回最终字符串。
func ToTitle(str string) string
strings包中的ToTitle()函数用于将字符串转换为大写。该函数将要转换的字符串作为参数,并在将其大小写转换为大写后返回字符串。
算法
步骤1 − 首先,我们需要导入fmt和unicode包。
步骤2 − 现在,创建toUpper()函数,该函数接受要更改大小写的字符串并返回该字符串。在函数内部,我们首先将获得的字符串转换为rune,然后使用for循环迭代rune数组。
步骤3 − 如果数组的字符是小写字母,则需要使用Unicode.Upper()函数将其转换为大写,并将该字符作为参数传递给它。
步骤4 − 现在,将字符逐个存储到已初始化的数组中,并返回最终数组。
步骤5 − 现在,启动main()函数。在这里初始化一个字符串类型的变量并为其存储值。接下来在屏幕上打印数组。
步骤6 − 通过将字符串作为参数传递给它来调用ToUpper()函数,并将结果存储在一个变量中并在屏幕上打印它。
示例1
在这个示例中,我们将使用unicode包在Go编程语言中将给定字符串转换为大写。在这个函数中,我们将使用字符串的字符逐个转换为大写。
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语言程序,该程序可以将字符串转换为大写,并附带示例。