Golang之字符串操作(反转中英文字符串)
- //字符串反转
package main- import "fmt"
- func reverse(str string) string {
- var result string
- strLen := len(str)
- for i := ; i < strLen; i++ {
- result = result + fmt.Sprintf("%c", str[strLen-i-])
- }
- return result
- }
- func reverse1(str string) string {
- var result []byte
- tmp := []byte(str)
- length := len(str)
- for i := ; i < length; i++ {
- result = append(result, tmp[length-i-])
- }
- return string(result)
- }
- func main() {
- var str1 = "hello"
- str2 := "world"
- str3 := fmt.Sprintf("%s %s", str1, str2)
- n := len(str3)
- fmt.Println(str3)
- fmt.Printf("len(str3)=%d\n", n)
- substr := str3[:]
- fmt.Println(substr)
- substr = str3[:]
- fmt.Println(substr)
- result := reverse(str3)
- fmt.Println(result)
- result = reverse1(result)
- fmt.Println(result)
- }
字符串练习
- package main
- import (
- "fmt"
- )
- func testString() {
- var str = "hello"
- fmt.Printf("str[0]=%c len(str)=%d\n", str[], len(str))
- for index, val := range str {
- fmt.Printf("str[%d]=%c\n", index, val)
- }
- //str[0] = '0'
- //fmt.Println("after modify:", str)
- var byteSlice []byte
- byteSlice = []byte(str)
- byteSlice[] = ''
- str = string(byteSlice)
- fmt.Println("after modify:", str)
- fmt.Printf("len(str)=%d\n", len(str))
- str = "hello, 少林之巅"
- fmt.Printf("len(str)=%d\n", len(str))
- str = "中问123"
- fmt.Printf("last:len(str)=%d\n", len(str))
- var b rune = '中'
- fmt.Printf("b=%c\n", b)
- var runeSlice []rune
- runeSlice = []rune(str)
- fmt.Printf("str 长度:%d, len(str)=%d\n", len(runeSlice), len(str))
- }
- func testReverseStringV1() {
- var str = "hello中文 "
- var bytes []byte = []byte(str)
- for i := ; i < len(str)/; i++ {
- tmp := bytes[len(str)-i-]
- bytes[len(str)-i-] = bytes[i]
- bytes[i] = tmp
- }
- str = string(bytes)
- fmt.Println(str)
- }
- func testReverseStringV2() {
- var str = "hello中文 "
- var r []rune = []rune(str)
- for i := ; i < len(r)/; i++ {
- tmp := r[len(r)-i-]
- r[len(r)-i-] = r[i]
- r[i] = tmp
- }
- str = string(r)
- fmt.Println(str)
- }
- func testHuiWen() {
- var str = "上海自来水来自海上"
- var r []rune = []rune(str)
- for i := ; i < len(r)/; i++ {
- tmp := r[len(r)-i-]
- r[len(r)-i-] = r[i]
- r[i] = tmp
- }
- str2 := string(r)
- if str2 == str {
- fmt.Println(str, " is huiwen")
- } else {
- fmt.Println(str, " is not huiwen")
- }
- }
- func main() {
- //testString()
- //testReverseStringV2()
- testHuiWen()
- }
Golang之字符串操作(反转中英文字符串)的更多相关文章
- C#入门篇6-8:字符串操作 深入研究字符串的内存驻留机制
//字符串的内存驻留机制 public static void Test() { //当有多个字符串变量包含了同样的字符串实际值时, //CLR可能不会为它们重复地分配内存,而是让它们统统指向同一个字 ...
- add-binary 字符串操作,二进制字符串相加
Given two binary strings, return their sum (also a binary string). For example,a ="11"b =& ...
- C#入门篇6-4:字符串操作 string分割字符串效率比较
//分割字符串效率比较 public static void Fund() { //1.用string.Split方法 //a.字节数组: //625毫秒/百万次 string str1 = &quo ...
- 转:C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文
转自:C语言字符串操作函数 - strcpy.strcmp.strcat.反转.回文 C++常用库函数atoi,itoa,strcpy,strcmp的实现 作者:jcsu C语言字符串操作函数 1. ...
- C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文
原文:http://www.cnblogs.com/JCSU/articles/1305401.html C语言字符串操作函数 1. 字符串反转 - strRev2. 字符串复制 - strcpy3. ...
- SQL字符串操作汇总
SQL字符串操作汇总 --将字符串中从某个字符开始截取一段字符,然后将另外一个字符串插入此处 select stuff('hello,world!',4,4,'****') --返回值hel*** ...
- Python之字符串操作
一.字符串特点 内容不可修改 password=' #内容不可修改 二.字符串常用方法 1..strip()方法 去字符串两边的空格和换行符 print(password.strip()) #去掉字符 ...
- JS 常用字符串操作
Js字符串操作函数大全 /******************************************* 字符串函数扩充 ...
- Python中字符串操作
#Python字符串操作 '''1.复制字符串''' #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' pri ...
随机推荐
- Linux 键盘输入#的时候变成£
/********************************************************************************* * Linux 键盘输入#的时候变 ...
- linux 模拟生成 CAN 设备
/************************************************************************************** * linux 模拟生成 ...
- DecimalFormat格式化数字
DecimalFormat格式化数字 DecimalFormat类也是Format的一个子类,主要作用是格式化数字.当然,在格式化数字时要比直接使用NumberFormat更加 方便,因为可以直接指定 ...
- vue使用百度编辑器ueditor踩坑记录
一.使用 下载放入项目 main.js引入 import '../static/UE/ueditor.config.js'; import '../static/UE/ueditor.all.js'; ...
- web本地存储(localStorage、sessionStorage)
web 本地存储 (localStorage.sessionStorage) 说明 对浏览器来说,使用 Web Storage 存储键值对比存储 Cookie 方式更直观,而且容量更大,它包含两种:l ...
- PostgreSQL 9.6 keepalived主从部署
## 环境: PostgreSQL版:9.6 角色 OS IPmaster CentOS7 ...
- 注解反射原理(IOC框架)
IOC(Inversion of Control):控制反转.采用配置文件和注解的方式,将成员变量通过反射注入,舍弃new的方式,降低了耦合度. 反射:JAVA反射机制是在运行状态中,对于任意一个类, ...
- Java 学习思路
内容中包含 base64string 图片造成字符过多,拒绝显示
- jetty之嵌入式开发
一.Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境.Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布.开发人员可 ...
- 使用Java配置SpringMVC
在此之前,一直使用的是XML的方式配置SpringMVC,现在为了适应Servlert3.0以及JavaConfig的Spring配置方式,在这里记录一下使用Java代码配置SpringMVC.首先, ...