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+ 閱讀量

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告