1. package main
    2. import (
    3. "fmt"
    4. )
    5. func testReverStringv1() {
    6. /*反转英文*/
    7. var (
    8. str = "hello"
    9. bytes []byte = []byte(str)//转换
    10. )
    11. fmt.Println("bytes =",bytes)
    12. for i:=0;i<len(str)/2;i++ {
    13. tmp := bytes[len(str)-i-1]
    14. fmt.Println("bytes[len(str)-i-1]=======",bytes[len(str)-i-1])
    15. fmt.Println("bytes[len(str)-i-1]=======",string(bytes[len(str)-i-1]))
    16. bytes[len(str)-i-1] = bytes[i]
    17. fmt.Println("bytes[i]====",bytes[i])
    18. fmt.Println("bytes[i]====",string(bytes[i]))
    19. bytes[i]= tmp
    20. }
    21. str = string(bytes)
    22. fmt.Println("str = ",str)
    23. }
    24. func testReverStringv2() {
    25. var (
    26. str = "你好呀sss"
    27. r []rune = []rune(str)
    28. )
    29. fmt.Println("before str =",str)
    30. //中文要使用转换后的r的长度
    31. for i := 0;i<len(r)/2;i++{
    32. tmp := r[len(r)-i-1]
    33. fmt.Println("tmp ====",tmp)
    34. r[len(r)-i-1] = r[i]
    35. fmt.Println("r[i] =====",r[i])
    36. r[i] = tmp
    37. }
    38. str = string(r)
    39. fmt.Println("after str = ",str)
    40. }
    41. func testHuiWens() {
    42. var (
    43. str = "你好世界界世s好你"
    44. r []rune = []rune(str)
    45. )
    46. for i := 0;i<len(r)/2;i++ {
    47. tmp := r[len(r)-i-1]
    48. r[len(r)-i-1] = r[i]
    49. r[i] = tmp
    50. }
    51. str2 := string(r)
    52. if str2 == str {
    53. fmt.Println(str2,"is huiwen")
    54. }else {
    55. fmt.Println(str2,"is not huiwen")
    56. }
    57. }
    58. func main() {
    59. //testReverStringv1()
    60. //testReverStringv2()
    61. testHuiWens()
    62. }