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語言程式,該程式可以將字串轉換為大寫,並附帶示例。