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语言程序,该程序可以将字符串转换为大写,并附带示例。

更新于:2023年2月17日

3K+ 阅读量

启动您的职业生涯

通过完成课程获得认证

开始学习
广告