反转带有空格的字符串
程序员文章站
2024-02-23 17:05:04
...
package main
import (
"bufio"
"fmt"
"os"
"strings"
)
func main() {
reversal01()
}
/*
接受用户输入带有空格的字符串,然后将字符串反转,交给一个字符串的切片或者数组
*/
func reversal01() {
fmt.Println("请输入:")
//获取从键盘输入的值
var inputReader *bufio.Reader
inputReader = bufio.NewReader(os.Stdin)
str,_ := inputReader.ReadString('\n')//接收到从键盘输入的值,接收到换行即回车的时候不接收
//但是会把换行符接收下来,也就是接收的字符串带有一个换行
str = strings.Replace(str,"\n","",-1)//将换行个替换为空
//将接收到的字符串为rune切片
arr := []rune(str)
fmt.Println("交换前=",str)
var tem = ' '//定义的一个临时的变量用于交换
//用for循环进行交换
//交换的次数是数组的长度 / 2
for i := 0;i < len(arr)/2;i++{
tem = arr[len(arr)-i-1]
arr[len(arr)-i-1] = arr[i]
arr[i] = tem
}
//因为rune切片输出的是ASCll码值,所以要将rune切片转为字符串
str = string(arr)
//再将其转为字符串切片
var strarr []string
strarr= append(strarr,str)
fmt.Println("交换后=",strarr)
}