GO检查字符串是否为小写字母如果为小写字母转换为大写字母
时间: 2023-08-07 22:02:32 浏览: 185
从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以“!”结束.
可以使用标准库中的`unicode`包和`strings`包来实现。
示例代码如下:
```go
package main
import (
"fmt"
"strings"
"unicode"
)
func main() {
// 输入字符串
str := "hello, world!"
// 判断字符串是否全部为小写字母
if strings.IndexFunc(str, func(r rune) bool {
return !unicode.IsLower(r)
}) == -1 {
// 如果是,将字符串转换为大写字母
str = strings.ToUpper(str)
}
// 输出转换后的字符串
fmt.Println(str)
}
```
运行结果为:
```
HELLO, WORLD!
```
代码解释:
1. 首先使用`strings.IndexFunc`函数来判断字符串中是否存在不是小写字母的字符,如果存在则返回该字符在字符串中的位置,否则返回-1。
2. `strings.IndexFunc`函数需要传入一个函数作为判断条件,该函数的参数为rune类型,返回值为bool类型。在本例中,我们使用`unicode.IsLower`函数来判断是否为小写字母。
3. 如果字符串中不存在不是小写字母的字符,则将字符串转换为大写字母,使用`strings.ToUpper`函数实现。
4. 最后输出转换后的字符串。
阅读全文