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 ...
随机推荐
- .net中的Dictionary字典类的使用方法
//定义字典 Dictionary<string, string> d = new Dictionary<string, string>(); //添加字典的元素 ; i &l ...
- 使用TortoiseGit+码云管理项目代码
1.下载安装msysgit. 2.下载安装tortoisegit. 3.创建ssh密钥. 开始–所有程序–TortoiseGit–PuTTYgen 生成方法:点击“Generate”后,鼠标在key下 ...
- 2065212Java实验四android开发基础
20165212 Java实验四Android开发基础 实验内容: 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Android.组件.布局管理器的使用: 3. ...
- Eclipse转Android Studio工程实践
Eclipse转Android Studio工程有两种方式, 一种是兼容Eclipse,两者都可以使用,一种是全新的Android Gradle Project. 这里使用的Android Studi ...
- 在Chrome调试器中引入jQuery
在Console中输入以下代码并回车,Console显示"function (a,b){return new m.fn.init(a,b)}"说明导入成功,就可以在Console中 ...
- 简单遗传算法-python实现
ObjFunction.py import math def GrieFunc(vardim, x, bound): """ Griewangk function &qu ...
- sysbench 0.5使用手册
注意:本文刚开始只介绍了sysbench 0.5之前的版本,在了解了sysbench 0.5之后进行了补充,大部分测试和参数都是一样的,只是sysbench 0.5 在测试数据库方面更加全面丰富. 关 ...
- (转)powerdesigner 生成sql脚本使用的设置
本文转载自:http://blog.163.com/lizhihaoo@126/blog/static/103121661201036171115/ 1. 生成sql脚本的时候,提示"con ...
- char、varchar、varchar2区别
char varchar varchar2 的区别 区别:1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (20),表示你存储的 ...
- 读java并发编程笔记
同步策略:在共享资源上面加锁 java监视器模式:class对象-与之对应的锁(内置锁)[对象锁与class锁] 执行策略: 取消策略: =============================== ...