1. 统计字符串的长度,按字节进行统计

package main

import "fmt"

func main() {
var s1 string = "hello,世界"
fmt.Printf("s1字符串的长度为:%v", len(s1)) //汉字为utf-8为3个字节
}

执行结果

s1字符串的长度为:12

2. 字符串遍历

2.1 for range遍历

package main

import (
"fmt"
) func main() {
var s1 string = "hello,世界"
for key1, var1 := range s1 {
fmt.Printf("下标为%d对应的字符为:%c\n", key1, var1) //汉字为utf-8为3个字节
}
}

执行结果

下标为0对应的字符为:h
下标为1对应的字符为:e
下标为2对应的字符为:l
下标为3对应的字符为:l
下标为4对应的字符为:o
下标为5对应的字符为:,
下标为6对应的字符为:世
下标为9对应的字符为:界

2.2. 切片遍历

package main

import (
"fmt"
) func main() {
var s1 string = "hello,世界"
ru := []rune(s1) //将字符串转为切片
for i := 0; i < len(ru); i++ {
fmt.Printf("%c\n", ru[i])
}
}

执行结果

h
e
l
l
o
,


3.字符串与整数互相转换

3.1 字符串转与整数

package main

import (
"fmt"
"strconv"
) func main() {
var s2 string = "210"
n2, _ := strconv.Atoi(s2) //strconv.Atoi返回两个值,第一个值为int,第二个值为error,忽略error
fmt.Printf("n2的值为:%v,n2的类型为%T", n2, n2)
}

执行结果

n2的值为:210,n2的类型为int

3.2 整数转字符串

package main

import (
"fmt"
"strconv"
) func main() {
var n2 int = 210
s2 := strconv.Itoa(n2)
fmt.Printf("n2的值为:%v,n2的类型为%T", s2, s2)
}

执行结果

n2的值为:210,n2的类型为string

4. 统计一个字符串有几个指定的子串

package main

import (
"fmt"
"strings"
) func main() {
var s3 string = "helloutrnball"
conunt := strings.Count(s3, "ll")
fmt.Printf("s3字符串中出现连续ll的次数为:%v", conunt)
}

执行结果

s3字符串中出现连续ll的次数为:2

5. 查找子串是否在指定的字符串中

package main

import (
"fmt"
"strings"
) func main() {
var s4 string = "abcdjekkbfjja"
include := strings.Contains(s4, "jj")
fmt.Println(include)
}

执行结果

true

6.不区分大小写的字符串比较

package main

import (
"fmt"
"strings"
) func main() {
flag := strings.EqualFold("WORLD", "world")
fmt.Println(flag)
}

执行结果

true

7. 返回子串在字符串第一次出现的索引值,如果没有返回-1

package main

import (
"fmt"
"strings"
) func main() {
index1 := strings.Index("aabdcjakksnlfaknl", "nl") //nl在这段字符串中的第一次出现位置
fmt.Println(index1)
index2 := strings.Index("aabdcjakksnlfaknl", "kl") //nl在这段字符串中的第一次出现位置,没有返回-1
fmt.Println(index2)
}

执行结果

10
-1

8. 字符串的替换

package main

import (
"fmt"
"strings"
) func main() {
s3 := strings.Replace("abcnaljakndal", "al", "tt", 1) //将第一个字符al替换为tt
s4 := strings.Replace("abcnaljakndal", "al", "tt", -1) //当最后的n<0,替换所有匹配字符
fmt.Println(s3)
fmt.Println(s4)
}

执行结果

abcnttjakndal
abcnttjakndtt

9. 按照指定的某个字符,为分割标识,将一个学符串拆分成字符串数组

package main

import (
"fmt"
"strings"
) func main() {
s1 := strings.Split("calkjghakanmxml1222", "a") //将a做为分隔符,将分割的内容返回为切片
s2 := strings.Split("calkjghakanmxml1222", "") //不指定分隔符,默认会将每个字符为单位分割
fmt.Printf("s1的类型为:%T,s1的值为:%v\n", s1, s1)
fmt.Printf("s2的类型为:%T,s2的值为:%v", s2, s2)
}

执行结果

s1的类型为:[]string,s1的值为:[c lkjgh k nmxml1222]
s2的类型为:[]string,s2的值为:[c a l k j g h a k a n m x m l 1 2 2 2]

10. 将字符串的字母进行大小写的转换

package main

import (
"fmt"
"strings"
) func main() {
s5 := strings.ToLower("ABCabc") //将字符都转成小写
s6 := strings.ToUpper("ABCabc") //将字符都转成大写
fmt.Println(s5)
fmt.Println(s6)
}

执行结果

abcabc
ABCABC

11.去掉字符串两边的空格

package main

import (
"fmt"
"strings"
) func main() {
s7 := strings.TrimSpace(" abcde ")
fmt.Println(s7)
}

执行结果

abcde

12. 去掉左右两边指定的字符

package main

import (
"fmt"
"strings"
) func main() {
s8 := strings.Trim("-***abcde--", "-*")
fmt.Println(s8)
}

执行结果

abcde

13. 去掉字符串左边指定的字符

package main

import (
"fmt"
"strings"
) func main() {
s8 := strings.TrimLeft("-***abcde--***", "-*")
fmt.Println(s8)
}

执行结果

abcde--***

14。 去掉字符串右边指定的字符

package main

import (
"fmt"
"strings"
) func main() {
s8 := strings.TrimRight("-***abcde--***", "-*")
fmt.Println(s8)
}

执行结果

-***abcde

15. 判断字符串是否以指定的字符串开头

package main

import (
"fmt"
"strings"
) func main() {
s9 := strings.HasPrefix("acbc", "ac")
fmt.Println(s9)
}

执行结果

true

16. 判断字符串是否以指定的字符串结束

package main

import (
"fmt"
"strings"
) func main() {
s9 := strings.HasSuffix("acbc", "bc")
fmt.Println(s9)
}

执行结果

true

golang 字符串函数的更多相关文章

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

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

  2. Golang字符串函数认识(一)

    package main import ( "fmt" "strings" "strconv" ) func main(){ //返回字符串 ...

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

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

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

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

  5. golang(06)函数介绍

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

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

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

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

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

  8. SQL字符串函数

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

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

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

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

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

随机推荐

  1. Java环境搭载的低级错误

    关于Java环境搭载的问题 在按照狂神的教程在Dos窗口执行了javac hello.java后在执行java hello报错"" 发现路径文件夹内并未生成class文件 检查了环 ...

  2. [Untiy]贪吃蛇大作战(四)——游戏主界面

    游戏主界面: 由于这个场景比较复杂,需要分几个部分实现: 1.游戏背景 首先我们的游戏场景上包括了一个大的背景图片,之外再包围一个红色的区域.中间的区域才是可活动的区域,周围通过碰撞检测盒来检测是否有 ...

  3. Quartz 使用教程

    首先说说,为什么要写这篇文章: Quartz 的 v2.3.2 版本改动比较大,目前网上的资料都是旧版本,很缺乏相关资料 很多资料讲解非常不全面,例如 Quartz Listener 的介绍和使用基本 ...

  4. day07-SpringMVC底层机制简单实现-03

    SpringMVC底层机制简单实现-03 https://github.com/liyuelian/springmvc-demo.git 7.任务6-完成控制器方法获取参数-@RequestParam ...

  5. Fiddler V5.0 英文/汉化 Windows 抓包工具 【12月29日亲测有效】

    前言 Fiddlerr 功能强大的抓包工具,Web调试工具,HTTP协议抓包调试工具.它能够捕获浏览器和程序的所有http/https通信连接,可以针对访问请求,分析请求数据报文.设置断点.调试web ...

  6. 合肥光源纵向震荡数据源相关PV的增补

    合肥光源纵向震荡数据源相关PV 昨天发了上面那篇,对于那张二维纵向时间的图又做了些分析,因为要显示分析的结果,又增加了几个PV,说明如下: HLSII:BD:BCMSDS:Time:Spectrum  ...

  7. JAVA 进阶完结

    1.接口 这个类中 有了新的关键字 abstract 并且里面的方法没有括号 这样的类 上图就是 抽象函数与抽象类 那么继承抽象类的子类需要做什么工作呢 2.代码编写的思路 3.接口 接口跟抽像类的很 ...

  8. 网页怎样引入本地硬盘上的JS文档

    网页通过<script>标记可以引入在线的js文档,只有把网页保存在本地硬盘才能使用相对路径引入本地js文档,普通浏览器难以实现在线页面上引入本地js文档.怎么解决这个问题呢? 首先准备好 ...

  9. SPA路由实现的基本原理

    1. SPA路由实现的基本原理 前端单页应用实现路由的策略有两种,分别是 基于hash 和 基于 History API 基于hash 通过将一个 URL path 用 # Hash 符号拆分.- 浏 ...

  10. Linux 下安装Nginx两种方法- yum安装 and Centos7下yum安装配置nginx与php

    转载csdn: Linux 下安装Nginx两种方法- yum安装_在电脑前深思的博客-CSDN博客 Linux安装Nginx(两种方式)_HHRunning的博客-CSDN博客_linux 是否安装 ...