Go语言字符串类型详解
1. 定义字符串类型
package mainimport ("fmt");func main() {var str1 string = "你好 GoLang 1"var str2 = "你好 GoLang 2"str3 := "你好 GoLang 3"fmt.Printf("%v--%T\n", str1, str1)// 你好 GoLang 1--stringfmt.Printf("%v--%T\n", str2, str2)// 你好 GoLang 2--stringfmt.Printf("%v--%T\n", str3, str3)// 你好 GoLang 1--string
}
2. 字符串转义符
package mainimport ("fmt");func main() {str1 := "this \n is string" fmt.Println(str1)// this // is stringstr2 := "C:\\Go\\bin"fmt.Println(str2)// C:\Go\bin}
3. 多行字符串
package main
import ("fmt");
func main() {str := `this is athis is bthis is cthis is dthis is e`fmt.Println(str)// this is a // this is b// this is c// this is d// this is e
}
4. 求字符串长度
package mainimport ("fmt");func main() {var str1 = "aaaa"fmt.Println(len(str1))// 4var str2 = "你好" fmt.Println(len(str2))// 6
}
5. 拼接字符串
package mainimport ("fmt");func main() {str1 := "你好"str2 := "Golang"str3 := str1 + str2fmt.Println(str3)// 你好Golangstr4 := "你好"str5 := "世界"str6 := fmt.Sprintf("%v %v", str4, str5)fmt.Println(str6)// 你好 世界str7 := "反引号间换行将被作为字符串中的换行," +"文本将会原样输出," +"但是所有的转义字符均无效"fmt.Println(str7)// 反引号间换行将被作为字符串中的换行,文本将会原样输出,但是所有的转义字符均无效}
6. 字符串分割
package main
import ("fmt";"strings")
func main() {var str = "123-456-789"arr := strings.Split(str, "-")fmt.Println(arr)// [123 456 789] // 返回一个切片
}
7. 切片链接成字符串
package mainimport ("fmt";"strings");func main() {var str1 = "123-456-789"arr1 := strings.Split(str1, "-")str2 := strings.Join(arr1, "*")fmt.Println(str2) // 123*456*789arr2 := []string{"php", "java", "golang"} str3 := strings.Join(arr2, "-")fmt.Printf("%v - %T", str3, str3)// php-java-golang - string}
8. 判断是否包含
package mainimport ("fmt";"strings");func main() {str1 := "this is str"str2 := "this"flag1 := strings.Contains(str1, str2)fmt.Println(flag1)// true str3 := "thisxxx"flag2:= strings.Contains(str1, str3)fmt.Println(flag2)// false}
9. 前缀/后缀判断
package mainimport ("fmt";"strings");func main() {str := "this is str"str1 := "this"flag1 := strings.HasPrefix(str, str1)fmt.Println(flag1)// truestr2 := "str"flag2 := strings.HasSuffix(str, str2)fmt.Println(flag2)// true}
10. 从前查找字符串位置
package mainimport ("strings");func main() {str := "this is str"str1 := "is"num1 := strings.Index(str, str1)println(num1) // 2str2 := "xxx"num2 := strings.Index(str, str2)println(num2) // -1 }
11. 从后查找字符串位置
package mainimport ("strings");func main() {str1 := "this is str"str2 := "is"num := strings.LastIndex(str1, str2)println(num) // 5
}
相关文章:
Go语言字符串类型详解
1. 定义字符串类型 package mainimport ("fmt");func main() {var str1 string "你好 GoLang 1"var str2 "你好 GoLang 2"str3 : "你好 GoLang 3"fmt.Printf("%v--%T\n", str1, str1)// 你好 GoLang 1--stringfmt.Printf…...

长安链智能合约命令解析(全集)
创建命令解析 ./cmc client contract user create \ --contract-namefact \ --runtime-typeWASMER \ --byte-code-path./testdata/claim-wasm-demo/rust-fact-2.0.0.wasm \ --version1.0 \ --sdk-conf-path./testdata/sdk_config.yml \ --admin-key-file-paths./testdata/cryp…...

一、OpenCV的基本操作
目录 1、OpenCV的模块 2、OpenCV的基础操作 2.1图像的IO操作 2.2绘制几何图形 2.3获取并修改图像中的像素点 2.4 获取图像的属性 2.5图像通道的拆分与合并 2.6色彩空间的改变 3、OpenCV的算数操作 3.1图像的加法 3.2图像的混合 3.3总结 1、OpenCV的模块 2、OpenCV的基…...

裂缝仪在线监测装置:工程安全领域的“实时守卫者”
在基础设施运维领域,裂缝扩展是威胁建筑结构安全的核心隐患之一。传统人工巡检方式存在效率低、时效性差、数据主观性强等局限,而裂缝仪在线监测装置通过技术迭代,实现了对结构裂缝的自动化、持续性追踪,为工程安全评估提供科学依…...

【论文精读】2024 ECCV--MGLD-VSR现实世界视频超分辨率(RealWorld VSR)
文章目录 一、摘要二、问题三、Method3.1 Latent Diffusion Model3.2 Motion-guided Diffusion Sampling3.3 Temporal-aware Decoder Fine-tuning 四、实验设置4.1 训练阶段4.2 训练数据 贡献总结 论文全称: Motion-Guided Latent Diffusion for Temporally Consis…...

SpringBoot简单体验
1 Helloworld 打开:https://start.spring.io/ 选择maven配置。增加SpringWeb的依赖。 Generate之后解压,代码大致如下: hpDESKTOP-430500P:~/springboot2/demo$ tree ├── HELP.md ├── mvnw ├── mvnw.cmd ├── pom.xml └── s…...
【系统架构设计师】2025年上半年真题论文回忆版: 论系统负载均衡设计方法(包括解题思路和参考素材)
更多内容请见: 备考系统架构设计师-专栏介绍和目录 文章目录 真题题目(2025年上半年 试题3)解题思路论文素材参考1、静态负载均衡策略2、动态负载均衡策略3、基于场景的负载均衡真题题目(2025年上半年 试题3) 请围绕 “论系统负载均衡设计方法” 论题,依次从以下三个方面…...

2025年通用 Linux 服务器操作系统该如何选择?
2025年通用 Linux 服务器操作系统该如何选择? 服务器操作系统的选择对一个企业IT和云服务影响很大,主推的操作系统在后期更换的成本很高,而且也有很大的迁移风险,所以企业在选择服务器操作系统时要尤为重视。 之前最流行的服务器…...

Azure devops 系统之五-部署ASP.NET web app
今天介绍如何通过vscode 来创建一个asp.net web app,并部署到azure 上。 创建 ASP.NET Web 应用 在您的计算机上打开一个终端窗口并进入工作目录。使用 dotnet new webapp 命令创建一个新的 .NET Web 应用,然后将目录切换到新创建的应用。 dotnet new webapp -n MyFirstAzu…...
Hadoop是什么
注:本人不懂Hadoop是什么,问的大模型,让它用生动浅显的语言向我解释。为了防止忘记,我把它说的记录下来。接下来的解释都是大模型生成的,如果有错误的地方欢迎指正 。 Hadoop 是什么?(一句…...

学习路之PHP--easyswoole_panel安装使用
学习路之PHP--easyswoole_panel安装使用 一、新建文件夹二、安装三、改配置地址四、访问 IP:Port 自动进入index.html页面 一、新建文件夹 /www/wwwroot/easyswoole_panel 及配置ftp 解压easyswoole_panel源码 https://github.com/easyswoole-panel/easyswoole_panel 二、安…...
结合 AI 编程,让前端开发更简单:趋势、方法与实践
在 AI 迅猛发展的浪潮中,前端开发正在迎来范式转变。本文将深入探讨如何将 AI 编程能力嵌入前端工程体系中,重塑前端生产力工具链与开发方式。 一、前端开发的核心痛点 尽管前端框架(如 Vue、React)已经大大简化了 UI 构建&#…...

【拓扑排序】P6560 [SBCOI2020] 时光的流逝|普及+
本文涉及知识点 C图论 拓扑排序 P6560 [SBCOI2020] 时光的流逝 题目背景 时间一分一秒的过着,伴随着雪一同消融在了这个冬天, 或许,要是时光能停留在这一刻,该有多好啊。 … “这是…我在这个小镇的最后一个冬天了吧。” “嗯…...

SSRF 接收器
接收请求 IP.php <?php // 定义日志文件路径 $logFile hackip.txt;// 处理删除请求 if (isset($_POST[delete])) {$ipToDelete $_POST[ip];$lines file($logFile, FILE_IGNORE_NEW_LINES);$newLines array();foreach ($lines as $line) {$parts explode( | , $line);…...
【设计模式】责任链
【设计模式】责任链 在实际开发中,我们经常遇到这样的需求:某个请求需要经过多个处理者,但处理的顺序、方式可能会变化或扩展。这时候,责任链模式就能派上用场。 责任链模式(Chain of Responsibility) 是…...
unix/linux source 命令,其高级使用
就像在物理学中,掌握了基本定律后,我们可以开始研究更复杂的系统和现象,source 的高级用法也是建立在对其基本行为深刻理解之上的。 让我们一起探索 source 的高级应用领域: 1. 条件化加载 (Conditional Sourcing) 根据某些条件来决定是否 source 一个文件,或者 source…...
邮件验证码存储推荐方式
邮件验证码的存储方案需要兼顾 安全性、性能 和 可维护性,以下是详细分析和推荐方案: 1. 推荐方案:Redis(首选) 为什么选择 Redis? 优势说明高性能内存读写,毫秒级响应,适合高频验…...
Allegro 输出生产数据详解
说明 用于PCB裸板的生产可以分别单独创建文件 光绘数据(Gerber)、钻孔(NC Drill)、IPC网表;或者通过ODB++或IPC2581文件(这是一个新格式),它包含生产裸板所需要的所有信息 光绘数据 Artwork Gerber 光绘数据一般包含设计中各个层面的蚀刻线路、阻焊、铅锡、字符等信…...

FastAPI MCP 快速入门教程
目录 什么是 FastAPI MCP?项目设置1. 初始化项目2. 安装依赖3. 项目结构 编写代码创建主应用文件 运行和测试1. 启动服务器2. 使用 MCP Inspector 测试 什么是 FastAPI MCP? FastAPI MCP 是一个将 FastAPI 应用程序转换为 Model Context Protocol (MCP)…...

uni-app学习笔记二十一--pages.json中tabBar设置底部菜单项和图标
如果应用是一个多 tab 应用,可以通过 tabBar 配置项指定一级导航栏,以及 tab 切换时显示的对应页。 在 pages.json 中提供 tabBar 配置,不仅仅是为了方便快速开发导航,更重要的是在App和小程序端提升性能。在这两个平台ÿ…...

【Redis】基本命令
Redis命令行客户端 现在我们已经启动了Redis服务,下面将介绍如何使用redis - cli连接、操作Redis服务。客户端和服务端的交互过程如图1 - 3所示。 redis - cli可以使用两种方式连接Redis服务器。 第一种是交互式方式:通过redis - cli -h {host} -p {p…...
爬虫工具链的详细分类解析
以下是针对爬虫工具链的详细分类解析,涵盖静态页面、动态渲染和框架开发三大场景的技术选型与核心特性: 🧩 一、静态页面抓取(HTML结构固定) 工具组合:Requests BeautifulSoup 适用场景:目标数…...
鸿蒙编译ffmpeg库
下载 ffmpeg 项目 基于如下项目编译的 ffmpeg git clone https://gitcode.com/openharmony-sig/tpc_c_cplusplus.git 配置编译环境 下载 command line tools https://developer.huawei.com/consumer/cn/download/ 导出 OHOS_SDK 环境变量 export OHOS_SDK~/command-line-…...

哈希:闭散列的开放定址法
我还是曾经的那个少年 1.概念 通过其要存储的值与存储的位置建立映射关系。 如:基数排序也是运用了哈希开放定址法的的思想。 弊端:仅适用于数据集中的情况 2.开放定址法 问题:按照上述哈希的方式,向集合插入数据为44ÿ…...

Unity-QFramework框架学习-MVC、Command、Event、Utility、System、BindableProperty
QFramework QFramework简介 QFramework是一套渐进式、快速开发框架,适用于任何类型的游戏及应用项目,它包含一套开发架构和大量的工具集 QFramework的特性 简洁性:QFramework 强调代码的简洁性和易用性,让开发者能够快速上手&a…...

FPGA实现CNN卷积层:高效窗口生成模块设计与验证
我最近在从事一项很有意思的项目,我想在PFGA上部署CNN并实现手写图片的识别。而本篇文章,是我迈出的第一步。具体代码已发布在github上 模块介绍 卷积神经网络(CNN)可以分为卷积层、池化层、激活层、全链接层结构,本篇要实现的&…...

LeetCode 3068.最大节点价值之和:脑筋急转弯+动态规划(O(1)空间)
【LetMeFly】3068.最大节点价值之和:脑筋急转弯动态规划(O(1)空间) 力扣题目链接:https://leetcode.cn/problems/find-the-maximum-sum-of-node-values/ 给你一棵 n 个节点的 无向 树,节点从 0 到 n - 1 编号。树以长…...
2.2HarmonyOS NEXT高性能开发技术:编译优化、内存管理与并发编程实践
HarmonyOS NEXT高性能开发技术:编译优化、内存管理与并发编程实践 在HarmonyOS NEXT全场景设备开发中,高性能是跨端应用体验的核心保障。本章节聚焦ArkCompiler编译优化、内存管理工具及多线程并发编程三大技术模块,结合实战案例解析底层实现…...

BLIP-2
目录 摘要 Abstract BLIP-2 模型框架 预训练策略 模型优势 应用场景 实验 代码 总结 摘要 BLIP-2 是一种基于冻结的图像编码器和大型语言模型的高效视觉语言预训练模型,由 Salesforce 研究团队提出。它在 BLIP 的基础上进一步优化,通过轻量级…...
【Go-6】数据结构与集合
6. 数据结构与集合 数据结构是编程中用于组织和存储数据的方式,直接影响程序的效率和性能。Go语言提供了多种内置的数据结构,如数组、切片、Map和结构体,支持不同类型的数据管理和操作。本章将详细介绍Go语言中的主要数据结构与集合…...