package main
import (
"fmt"
"strings"
"strconv"
) func main(){
//返回字符串的(字节)长度,相当于PHP的strlen
str := "hello世界" //11 ,golang的编码统一为utf-8,字母和数字分别占一个字节,汉子占用3个字节
// str := "hello" //
fmt.Println(len(str)) //字符串遍历
str2 := "hello世界"
//如果有中文,需要转切片,不然会出现乱码,因为是按照字符串的字节长度遍历
str2_r := []rune(str2)
for i := ; i < len(str2_r); i++ {
fmt.Printf("%c\n",str2_r[i])
} //字符串转整数
//第一个参数是要转化成的字符串,第二个是错误信息.这里需要引用strconv包
n, err := strconv.Atoi("")
if err != nil { //如果有错
fmt.Println("转换错误", err)
} else { //如果成功
fmt.Println("转换成功", n)
} //整数转字符串
str = strconv.Itoa()
fmt.Printf("str=%v, str=%T", str, str) //str=12345, str=string //字符串转[]byte
var bytes = []byte("hello golang")
fmt.Println(bytes) //str=12345, str=string[104 101 108 108 111 32 103 111 108 97 110 103] //[]byte转字符串
str = string([]byte{, , })
fmt.Println(str) //abc 的asc码分别是97,98,99 //十进制转化成2,8,16进制,返回对应的字符串
str = strconv.FormatInt(, )
fmt.Printf("123对应的二进制是=%v\n", str)
str = strconv.FormatInt(, )
fmt.Printf("123对应的八进制是=%v\n", str)
str = strconv.FormatInt(, )
fmt.Printf("123对应的十六进制是=%v\n", str)
//123对应的二进制是=1111011
//123对应的八进制是=173
//123对应的十六进制是=7b //判断一个字符串中是否包含指定字符串 ,相当于php中的strpos,但是php中可能会返回下标
status := strings.Contains("hello world", "hello")
fmt.Printf("status=%v\n", status) //status=true //统计一个字符串中有几个指定的字符
count := strings.Count("hello world", "l")
fmt.Printf("字符存在个数:%v\n", count) //字符存在个数:3;如果没有,则0 //字符串比较:不区分大小写
status = strings.EqualFold("abc", "ABC")
fmt.Printf("status=%v\n", status) //status=true //字符串比较:区分大小写 两个=
fmt.Printf("status=%v", "abc" == "ABC")//status=false //返回子字符串在指定字符串中第一次出现的index值(位置),如果没有返回-1
index := strings.Index("test_str", "s")
fmt.Printf("index=%v", index) //index=2
}

Golang字符串函数认识(一)的更多相关文章

  1. Golang字符串函数认识(二)

    package main import ( "fmt" "strings" ) func main(){ //返回字符在指定字符串中最后一次出现的位置 last ...

  2. GO语言的进阶之路-Golang字符串处理以及文件操作

    GO语言的进阶之路-Golang字符串处理以及文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们都知道Golang是一门强类型的语言,相比Python在处理一些并发问题也 ...

  3. [转] golang 字符串比较是否相等

    1 前言 strings.EqualFold不区分大小写,"==" 区分且直观. 2 代码 golang字符串比较的三种常见方法 fmt.Println("go" ...

  4. golang(06)函数介绍

    原文链接 http://www.limerence2017.com/2019/09/11/golang11/#more 函数简介 函数是编程语言中不可缺少的部分,在golang这门语言中函数是一等公民 ...

  5. [Golang]字符串拼接方式的性能分析

    本文100%由本人(Haoxiang Ma)原创,如需转载请注明出处. 本文写于2019/02/16,基于Go 1.11.至于其他版本的Go SDK,如有出入请自行查阅其他资料. Overview 写 ...

  6. ThinkPHP 模板substr的截取字符串函数

    ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...

  7. SQL字符串函数

    LEN() :计算字符串长度(字符的个数.)datalength();//计算字符串所占用的字节数,不属于字符串函数.测试varchar变量与nvarchar变量存储字符串a的区别.见备注1.LOWE ...

  8. Python3中的字符串函数学习总结

    这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...

  9. TSQL 字符串函数:截断和查找

    字符串截断函数是指:Stuff 和 SubString,字符串查找函数是:CharIndex 和 PatIndex 一,SubString 截取子串 最常用的字符串函数,用于截取特定长度的子串. SU ...

随机推荐

  1. 对接口(interface)的思考

    接口,java中用关键字interface定义.今天学习java基础API时,发现一个特点:每个包中都定义了一堆的接口,感觉有马克思主义中提到的“上层建筑”的味道.接口就是为需要实现的功能定一个基调, ...

  2. git issue 汇总

    (1)部分: https://wiki.mahara.org/wiki/Developer_Area/Contributing_Code/Troubleshooting_your_Gerrit_con ...

  3. node微信公众号开发---自动回复

    微信开发的特点:1.post请求 (一定要注意,这里和配置域名的时候不一样,配置域名是get请求)2.数据包是xml格式的3.你给微信返回的数据也是xml格式的 var parseString = r ...

  4. 20165321 实验三 敏捷开发与XP实践-4

    Java密码学程序 import java.util.*; public class Lfsr { public static void main(String[] args) { System.ou ...

  5. Python Shell 中敲击方向键显示「^[[C^[[D],问题解决

    碰到问题后,在网上搜索. 有帖子建议:yum install -y ncurses-devel,我这个2.7.13版本的在Linux下不行.估计是解决python3.x的方案. 尝试网上建议的,装了 ...

  6. visual studio Lua 调试

    BabeLua是一款基于VS (简称VS)的免费开源的Lua集成开发环境,在Lua编辑和调试方面,具有如下功能和特性: ●Lua语法高亮 ●语法检查 ●自动补全 ●一键注释 ●格式化代码 ●自定义代码 ...

  7. TensorFlow的封装

    TensorFlow是比较底层的深度学习API,TF-Slim.TFLearn.Keras和TensorLayer均尝试简化TensorFlow/Theano,它们对TensorFlow/Theano ...

  8. Buffer、ArrayBuffer、DataView互转(node.js)

    1.Buffer转ArrayBuffer // 实例一 const buf = Buffer.from("this is a test"); console.log(buf); c ...

  9. 4.无监督学习--K-means聚类

    K-means方法及其应用 1.K-means聚类算法简介: k-means算法以k为参数,把n个对象分成k个簇,使簇内具有较高的相似度,而簇间的相似度较低.主要处理过程包括: 1.随机选择k个点作为 ...

  10. C语言堆栈的区别

    堆(heap)和栈(stack)有什么区别?? 简单的可以理解为: heap:是由malloc之类函数分配的空间所在地.地址是由低向高增长的. astack:是自动分配变量,以及函数调用的时候所使用的 ...