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 ...
随机推荐
- 学习ThinkPHP第一天
今天开始学习PHP框架了,刚开始学,感觉挺兴奋的,离自己建立自己的博客又仅了一步,在linux环境下配置一定要赋予新创建的文件夹权限: sudo chmod -R 0777 filePath 这样 ...
- Jmeter-配置元件
CSV Data Set Config(CSV数据集配置) 参考:http://www.cnblogs.com/yanzhe/p/7728139.html DNS Cache Manager(DNS缓 ...
- Codeforces 1009C: Annoying Present
C. Annoying Present time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- 支持 Windows 10 最新 PerMonitorV2 特性的 WPF 多屏高 DPI 应用开发
Windows 10 自 1703 开始引入第二代的多屏 DPI 机制(PerMonitor V2),而 WPF 框架可以支持此第二代的多屏 DPI 机制. 本文将介绍 WPF 框架利用第二代多屏 D ...
- Struts2自定义标签4自定义分页标签
第一步:webroot/web-inf下的str.tld文件 <?xml version="1.0" encoding="UTF-8"?> < ...
- 自定义redis session
1.思路 2.程序实现 1.用户系统类 这里模拟一个蹩脚的用户系统类(userSystem),如下: #coding=utf-8 #Redis实现用户系统 __author__ = 'beginman ...
- MySql 中的 FIND_IN_SET 的使用和相关问题
MySql 中的 FIND_IN_SET 的使用和相关问题 QQ 群里有人讨论如果在 category_ids 中打开 12 的分类,而 category_ids 中的 ID 是以 逗号分开的. 使用 ...
- IE9 下面, XMLHttpRequest 是不支持跨域请求的解决方法
在 IE9 下面, XMLHttpRequest 是不支持跨域请求的. IE10 的 XMLHttpRequest 支持跨域, 而 IE8, IE9 需要使用 XDomainRequest 来实现跨域 ...
- C#:进程、线程、应用程序域(AppDomain)与上下文分析
进程 进程是操作系统用于隔离众多正在运行的应用程序的机制.在.Net之前,每一个应用程序被加载到单独的进程中,并为该进程指定私有的虚拟内存.进程不能直接访问物理内存,操作系统通过其它的处理把这 ...
- Linux嵌入式内核模块程序设计
1.环境搭建 vmware+Fedora 2.创建一个Hello文件 [root@localhost ~]# mkdir Hello 3.在Hello里面创建 hello.c 和 Makefile 两 ...