代码如下
package main
import (
"fmt"
"strings"
)
func upFirst(str string) string {
//存放单词的切片
var strSlice []string
//以空格分隔句子
strSlice = strings.Split(str, " ")
//存放返回值的string
var strn string
//遍历每一个单词
for _, v := range strSlice {
//先把单词变成byte类型的切片
var vv = []byte(v)
//局部变量
upperStr := ""
//遍历得到单词的每一个字母,变成byte之后就是以数字表示每个字母,用string 转换一下变成字母
for i := 0; i < len(vv); i++ {
//第一个字母
if i == 0 {
//判断第一个单词是否是小写 //好像再unicode 包里有函数可以直接把一个字母变成大小写
if vv[i] >= 97 && vv[i] <= 122 {
vv[i] -= 32
upperStr += string(vv[i]) // + string(vv[i+1])
}
} else {
upperStr += string(vv[i])
}
}
strn = strn + upperStr + " "
//把局部变量变成空,以便下次修改
upperStr = " "
}
return strn
}
func main() {
var str = "wo shi wang lin"
fmt.Println(upFirst(str))
fmt.Println("希望你快乐,不被生活打倒 ")
fmt.Println("数美科技")
}
输出显示