注册

Go语言转换所有字符串为大写或者小写的方法

Go语言中转换字符串为大写或小写有多种方式。下面提供三种不同的方法来实现这个目标。

方法一:strings.ToUpper() 和 strings.ToLower()

  1. strings.ToUpper() 函数把一个字符串转换为大写,返回一个新的字符串。
  2. strings.ToLower() 函数把一个字符串转换为小写,返回一个新的字符串。

示例代码如下:

import "strings"

func main() {
    str := "Hello, World!"

    // 转换为大写
    upperStr := strings.ToUpper(str)
    fmt.Println(upperStr) // 输出:HELLO, WORLD!

    // 转换为小写
    lowerStr := strings.ToLower(str)
    fmt.Println(lowerStr) // 输出:hello, world!
}

方法二:bytes.ToUpper() 和 bytes.ToLower()

另一种转换字符串大小写的方法是使用 bytes 包中提供的 ToUpper()ToLower() 函数。这种方法可以直接修改字符串原先占用的内存空间,不需要额外分配新的内存空间,因此对于大字符串的处理效果更好。

示例代码如下:

import "bytes"

func main() {
    str := "Hello, World!"
    strBytes := []byte(str)

    // 转换为大写
    bytes.ToUpper(strBytes)
    fmt.Println(string(strBytes)) // 输出:HELLO, WORLD!

    // 转换为小写
    bytes.ToLower(strBytes)
    fmt.Println(string(strBytes)) // 输出:hello, world!
}

方法三:使用 Unicode 包中的 ToUpper() 和 ToLower()

Go语言中,字符串本质上是一个由 Unicode 编码组成的 byte 数组。因此,可以通过使用 Go 语言标准库中的 unicodeutf8 包来进行大小写转换。

示例代码如下:

import "unicode"

func main() {
    str := "Hello, 世界"
    strRunes := []rune(str)

    // 转换为大写
    for i, r := range strRunes {
        strRunes[i] = unicode.ToUpper(r)
    }
    fmt.Println(string(strRunes)) // 输出:HELLO, 世界

    // 转换为小写
    for i, r := range strRunes {
        strRunes[i] = unicode.ToLower(r)
    }
    fmt.Println(string(strRunes)) // 输出:hello, 世界
}

以上三种方法都能够将字符串转换为大写或者小写,可以根据实际需求选择使用哪种方案。