golang字符串常用的系统函数

1.说明

字符串在开发中,使用频率非常高,所以我们需要掌握字符串的常用方法。

2.统计字符串的长度

按字节len(str)go的编码统一为utf-8(ascii的字符 字母和数字占一个字节,汉字占三个字节)

    str := "hello"fmt.Println(len(str)) //5str = "hello杭"fmt.Println(len(str)) //8

3.字符串遍历

处理带有中文的字符串 r:=[]rune(str)

    str := "hello杭州"r := []rune(str)for _, value := range r {fmt.Println(string(value))fmt.Printf("%c\n", value)}

结果:

h
h
e
e
l
l
l
l
o
o
杭
杭
州
州

4.整数转字符串

    var a = 92str := strconv.Itoa(a)fmt.Printf("str:%v  类型:%T", str, str) //str:92  类型:string

5.字符串转整数

str := "123456"n, err := strconv.Atoi(str)if err != nil {fmt.Println(err)}else {fmt.Printf("n:%v type:%T", n, n) //n:123456 type:int}

6.[]byte与字符串的相互转换

    str := "hello word"bytes := []byte(str)fmt.Println(bytes) //[104 101 108 108 111 32 119 111 114 100]str2 := string(bytes)fmt.Println(str2) //hello word

7.十进制转二进制、八进制和十六进制 

    str := strconv.FormatInt(15, 2)fmt.Printf("15对应的的二进制=%v\n", str) //15对应的的二进制=1111str = strconv.FormatInt(15, 8)fmt.Printf("15对应的的八进制=%v\n", str) //15对应的的八进制=17str = strconv.FormatInt(15, 16)fmt.Printf("15对应的的十六进制=%v\n", str) //15对应的的十六进制=f

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

    flag1 := strings.Contains("你好,世界", "你好")flag2 := strings.Contains("你好,世界", "你好吗")fmt.Println(flag1, flag2) //true false

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

    num1 := strings.Count("hello word", "o")num2 := strings.Count("hello word", "or")fmt.Println(num1, num2) // 2 1

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

    flag := strings.EqualFold("ABC", "abc")fmt.Println(flag) //truefmt.Println("ABC" == "abc") //false

11.返回子字符串在字符串第一次出现的位置index,如果没有返回-1

	index := strings.Index("你好世界", "世界")fmt.Println(index) //6index = strings.Index("helloword", "word")fmt.Println(index) //5

12. 返回子字符串最后一次出现的index,如果没有返回-1

    index := strings.LastIndex("helloaebcdef", "e")fmt.Println(index) //10

13.字符串的替换

注意:str = strings.Replace(str, "go", "golang", n),n可以指定你希望替换几个,如果n=-1表示全部替换。

    str := "hello go go"str = strings.Replace(str, "go", "golang", -1)fmt.Println(str) //hello golang go

14.将字符串分隔成数组

    str := "java,vue,holang,php"arr := strings.Split(str, ",")fmt.Println(arr)//[java vue holang php]

15.将字符串里面的字母进行大小写转换

    str := "javavueholangphp"arr := strings.ToUpper(str)fmt.Println(arr)                    // JAVAVUEHOLANGPHPfmt.Println(strings.ToLower("ABC")) //abc

 16.将字符串左右两边的空格去掉

	str := "  hello word "str = strings.TrimSpace(str)fmt.Println(str)//hello word

17.将字符串左右、左、右两边的指定字符去掉

    str := "!!!hello!!!"fmt.Println(strings.Trim(str, "!"))      //hellofmt.Println(strings.TrimLeft(str, "!"))  //hello!!!fmt.Println(strings.TrimRight(str, "!")) //!!!hello

18.判断字符串一指定字符串开头或者结尾 

    str := "https://img-s-msn-com.akamaized.net/tenant/amp/entityid/AA1AKNhg.img"flag1 := strings.HasPrefix(str, "https")flag2 := strings.HasSuffix(str, ".png")fmt.Println(flag1, flag2)//true false

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/33284.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言经典基础编程题

c语言经典基础编程题 一、输出输出1.1温度输出1.2排齐数据1.3进制转换 二、选择分支2.1求最大值2.2成绩评定2.3分段函数求值2.4 利润计算2.5判断闰年2.6二次方程根 三、循环结构3.1倒数求和3.2最大数3.3判断素数3.4判断完全数3.5打印菱形🚀🚀&#x1f68…

[多线程]基于阻塞队列(Blocking Queue)的生产消费者模型的实现

标题:[多线程]基于阻塞队列(Blocking Queue)的生产消费者模型的实现 水墨不写bug 文章目录 一、生产者消费者模型特点:二、实现2.1详细解释1. 成员变量2. 构造函数3. Isfull 和 Isempty4. Push 函数5. Pop 函数6. 析构函数7. GetSize 函数 三、总结与多线…

在vs中无法用QtDesigner打开ui文件的解决方法

解决方法 右键ui文件,选择打开方式,弹出如下界面。 点击添加,弹出如下界面 点击程序后边的三个点,去电脑查找designer.exe,我的位置为D:\Qt\Qt5.9.9\5.9.9\msvc2015_64\bin\designer.exe。 名称可以自己起一个名字&#xff0c…

[内网渗透] 红日靶场2

环境配置 靶场地址: http://vulnstack.qiyuanxuetang.net/vuln/wiki/ 环境配置可以看这个: https://www.bilibili.com/video/BV1De4y1a7Ps/?spm_id_from333.337.search-card.all.click&vd_sourcecf73ac8de9b7c0322b1bccf77de91c5dNAT模式分配111段, DHCP也要更改 再添加…

第八节:红黑树(初阶)

【本节要点】 红黑树概念红黑树性质红黑树结点定义红黑树结构红黑树插入操作的分析 一、红黑树的概念与性质 1.1 红黑树的概念 红黑树 ,是一种 二叉搜索树 ,但 在每个结点上增加一个存储位表示结点的颜色,可以是 Red和 Black 。 通过对 任何…

基于Spring Boot的网上蛋糕售卖店管理系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

哈尔滨算力服务器托管推荐-青蛙云

哈尔滨年平均气温3.5摄氏度,有发展云计算和算力数据中心的天然优势 ,今天为哈尔滨算力服务器托管服务商:青蛙云,黑龙江经营17年的老牌IDC服务商。 先来了解下算力服务器: 算力服务器,尤其是那些用于运行人…

关于Linux contOS 7 的防火墙

centos7 通过firewall-cmd命令添加防火墙白名单 。 查看防护墙状态 firewall-cmd --state 或 systemctl status firewalld active (running)-->表示防火墙已经开启;inactive (dead)-->表示防火墙已经关闭 开关防火墙命令 启动防火墙:systemctl …

【openGauss】物理备份恢复

文章目录 1. gs_backup(1)备份(2)恢复(3)手动恢复的办法 2. gs_basebackup(1)备份(2)恢复① 伪造数据目录丢失② 恢复 3. gs_probackup(1&#xf…

MySql学习_基础Sql语句

目录 1.数据库相关概念 2.SQL 2.1 SQL通用语法 2.2 SQL分类 2.3 DDL(数据库定义语言) 2.4 DML(数据操作语言) 2.5 DQL(数据查询语言) 2.6 DCL(数据控制语言) 3. 函数 3.1 字…

MAE:Masked Autoencoders Are Scalable Vision Learners——论文学习

论文地址:https://arxiv.org/pdf/2111.06377.pdf 官方源码:https://github.com/facebookresearch/mae 一、主要内容 本文证明了掩码自编码器(MAE)是一种可扩展的计算机视觉自监督学习算法。本文的MAE方法很简单:屏蔽输入图像的随机补丁并重建缺失的像素…

【C++标准库类型】深入理解C++中的using声明:从基础到实践

目录 一、using声明基础 1.1 基本语法形式 1.2 典型应用场景 1.3 作用域规则 二、关键注意事项 2.1 命名冲突处理 2.2 头文件使用规范 2.3 与typedef的对比 三、面向对象中的应用 3.1. 解除派生类名称隐藏(核心应用) 3.2. 构造函数继承&#…

VSTO(C#)Excel开发6:与窗体交互

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…

微服务Sentinel组件:服务保护详解

目录 服务保护简介 服务保护方案 安装与介绍Sentinel Sentinel整合微服务 服务保护实现 请求限流 线程隔离 OpenFeign整合Sentinel 配置线程隔离 服务熔断 编写降级逻辑 实现服务熔断 服务保护总结 服务保护简介 微服务保护是为了保障系统整体的稳定性和可靠性&am…

计算机视觉|首次写入政府工作报告!这个科技新词“具身智能”到底是什么?

一、具身智能与视觉-动作联合建模简介 具身智能(Embodied Intelligence) 是人工智能领域的关键研究方向,强调智能体通过物理实体与环境交互实现认知和智能行为。与传统人工智能基于静态数据和符号推理不同,具身智能依赖动态感知与…

【Azure 架构师学习笔记】- Azure Databricks (18) --Delta Live Table 架构

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (17) --Delta Live Table和Delta Table Databrics DLT 是一个ETL 框架,通过创建pipeline来简化开发难度,本文介绍两种D…

上下文学习思维链COTPrompt工程

一、上下文学习 上下文学习强调在学习过程中考虑问题所处的上下文环境。 1.1 上下文学习的分类 零样本(Zero-Shot)上下文学习单样本(One-Shot)上下文学习少样本(Few-Shot)上下文学习 1.2 示例选择方法 …

嵌入式裸机设计--MCU常用裸机架构有哪些?

为什么是裸机设计 792125321入群学习更高效! 在MCU(微控制器单元)裸机开发中,我们常见的架构设计主要围绕如何高效管理资源和任务调度。认识这些开发方式,对我们开发一个小型项目来说及有好处! 下面介绍…

C语言基础知识04

指针 指针概念 指针保存地址,地址是字节的编号 指针类型和保存的地址类型要一直 使用时注意,把地址转换为&变量的格式来看 int a[3]; a转为&a[0] 指针的大小 64bit 固定8字节, 32bit 固定4字节 指针…

IDEA 一键完成:打包 + 推送 + 部署docker镜像

1、本方案要解决场景? 想直接通过本地 IDEA 将最新的代码部署到远程服务器上。 2、本方案适用于什么样的项目? 项目是一个 Spring Boot 的 Java 项目。项目用 maven 进行管理。项目的运行基于 docker 容器(即项目将被打成 docker image&am…