一个简洁、优雅且高效的字符串首字母转大写函数

在go语言的开发中,字符串首字母转大写是一个非常常用的功能。今天给大家分享的是一个优雅、精简且高效的字符串首字母转大写函数。

首字母转大写函数


// 将字符串首字母转换为大写
// @author tekintian <tekintian@gmail.com>
func UcFirst(s string) string {if len(s) == 0 {return s}// 获取字符串的第一个字符,注意这里使用的是rune 而不是bytefirstChar := []rune(s[:1])[0]if firstChar >= 'a' && firstChar <= 'z' {firstChar -= 'a' - 'A's = fmt.Sprintf("%c%s", firstChar, s[1:])}return s
}

总结:

在go语言中,rune是一个特殊的数据类型, 他是int32的别名,它被设计用来代表unicode字符的ascii码,每一个rune代表一个unicode字符,所以对于字符串的大小写转换我们可详见字符串转换为rune切片,然后在对他们的ascii码值进行加减即可完成对应的转换。

注意:在go语言中每个char都对应一个ascii码,所以我们可以直接对char进行加减运算。

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

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

相关文章

springCloudAlibaba之分布式网关组件---gateway

gateway-网关 网关spring cloud gateway 网关 在微服务架构中一个系统会被拆分成多个微服务。那么作为客户端(前端)要如何去调用这么多的微服务&#xff1f;如果没有网关的存在&#xff0c;我们只能在客户端记录每个微服务的地址&#xff0c;然后分别去用。 这样的架构&#x…

【文档智能】实践:基于Yolo三行代码极简的训练一个版式分析模型

一、数据集 本文以开源的CDLA数据集做为实验&#xff0c;CDLA是一个中文文档版面分析数据集&#xff0c;面向中文文献类&#xff08;论文&#xff09;场景。包含以下10个label&#xff1a; 数据集下载地址&#xff1a;https://github.com/buptlihang/CDLA 数据集是labelme格式…

「茶桁 AI 秘籍-CV 篇」预告

Hi, 大家好。 我是茶桁。 咱们的《茶桁的 AI 秘籍》系列距离上一个系列课程《人工智能 BI 核心》已经有一段时间了&#xff0c;终于有时间可以写 CV 部分的课程&#xff0c;主要也是最近一段时间我确实有点忙不过来。 那么咱们 CV 的课程会有一些变化&#xff0c;就是会改为收…

MySQL + Keepalived自动切换

目录 一. 环境准备 二. 部署软件 三. master主机配置keepalived 四. slave主机配置keepalived 五. 两台机器配置数据库检查脚本 六. 客户端模拟访问 一. 环境准备 准备三个新环境的虚拟机&#xff0c;关闭防火墙和SElinux安全策略&#xff0c;并设置时间同步和配置好YUM…

搭建k8s集群报错unknown command “\u00a0“ for “kubeadm init“

搭建k8s报错unknown command “\u00a0” for “kubeadm init” 网上搜了一下&#xff0c;是因为复制过来的命令前面包含了空格&#xff0c;将复制的命令放到idea可以清楚看到几个命令前面有空格&#xff0c;删除掉就好了&#xff0c;记录一下

低压电工作业题库

1.螺口灯头的螺纹应与&#xff08; &#xff09;相接。 A.零线 B.相线 C.地线 答案:A 2.指针式万用表测量电阻时标度尺最右侧是&#xff08; &#xff09;。 A.∞ B.0 C.不确定 答案:B 3.继电器是一种根据&#xff08; &#xff09;来控制电路"接通"或&quo…

Github入门教程,适合新手学习(非常详细)

前言&#xff1a;本篇博客为手把手教学的 Github 代码管理教程&#xff0c;属于新手入门级别的难度。教程简单易操作&#xff0c;能够基本满足读者朋友日常项目寄托于 Github 平台上进行代码管理的需求。Git 与 Github 是一名合格程序员 coder 必定会接触到的工具与平台&#x…

React+TS前台项目实战(六)-- 全局常用组件Button封装

文章目录 前言Button组件1. 功能分析2. 代码注释说明3. 使用方式4. 效果展示&#xff08;1&#xff09;有加载动画&#xff0c;执行promise函数&#xff08;2&#xff09;无加载动画&#xff0c;执行click事件 总结 前言 今天这篇主要讲全局按钮组件封装&#xff0c;可根据UI设…

2023年13个最适合销售电子书的WordPress主题

欢迎来到我们用于销售电子书和其他数字/可下载产品&#xff08;软件、应用程序、图标集、主题等&#xff09;的最佳WordPress主题的完整集合。 这些主题有内置的支付网关&#xff0c;可以通过 PayPal、信用卡等处理安全支付。&#xff08;易于配置&#xff01;&#xff09; 最…

如何进行文件映射

创建一个文件WebMvcConfig package com.itheima.config;import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.…

以行动诠释价值观。

随着科技的飞速发展&#xff0c;程序员在当今社会扮演着越来越重要的角色。他们不仅是推动技术革新的重要力量&#xff0c;也是企业核心竞争力的重要组成部分。对于程序员而言&#xff0c;职业素养是职业生涯中不可或缺的一部分&#xff0c;它决定了程序员的工作态度、价值观以…

红队攻防渗透技术实战流程:中间件安全:JettyJenkinsWeblogicWPS

红队攻防渗透实战 1. 中间件安全1.1 中间件-Jetty-CVE&信息泄漏1.2 中间件-Jenkins-CVE&RCE执行1.2.1 cve_2017_1000353 JDK-1.8.0_291 其他版本失效1.2.2 CVE-2018-10008611.2.3 cve_2019_100300 需要用户帐号密码1.3 中间件-Weblogic-CVE&反序列化&RCE1.4 应…

zip加密txt文件后,暴力破解时会有多个解密密码可以打开的疑问??

最近在做一个关于zip压缩文件解密的测试&#xff0c;发现通过暴力解密时&#xff0c;会有多个解密密码可以打开&#xff0c;非常疑惑&#xff0c;这里做个问题&#xff0c;希望能有大佬解惑。 1、首先在本地创建一个113449.txt的文件&#xff0c;然后右键txt文件选择压缩&…

【Android面试八股文】你能说一说线程池管理线程的原理吗?

面试官(Interviewer): 欢迎参加面试,今天我们会讨论一些关于 Java 线程池管理的问题。你能给我解释一下 ThreadPoolExecutor 是如何管理线程的吗? 候选人(Candidate): 当然可以,ThreadPoolExecutor 是 Java 中用于创建和管理线程池的核心类。它通过一组核心参数来控制线…

RoCE网络架构在高性能计算的应用

浅析RoCE在高性能计算的应用 在高性能计算(HPC)系统的发展初期,通常选择专业网络解决方案,如Myrinet、Quadrics和InfiniBand,而不是以太网解决方案。通过定制网络方案可以有效解决以太网解决方案的限制,增强带宽、降低延迟、改善拥塞控制。 2010年,IBTA推出了RoCE协议技…

Eplan 2023 学习

软件下载及安装教程网络上一堆&#xff0c;不再赘述&#xff0c;唯一的安装重点&#xff08;安装软件时最好断网&#xff09;&#xff0c;否则可能会出现装不了补丁等问题&#xff1b; 软件界面配色调整 软件安装完成后&#xff0c;如果对界面颜色不喜欢可以随时切换&#xff…

PyQT5 键盘模拟/鼠标连点器的实现

近来在玩一个游戏,找不到合适的鼠标连点器,不是有广告就是功能太复杂,自己写了一个,分享出来,如果有需要的可以自行运行研究。 准备工作 Python版本:Python 3.12.3;运行前确保pyQT5已经安装: pip install PyQt5程序运行界面: 程序代码: 通过引入单独的常量和变…

智能计算系统-概述

1、人工智能技术分层 2、人工智能方向人才培养 3、课程体系的建议 4、智能系统课程对学生的价值 5、智能计算系统对老师的价值 6、什么是智能计算系统 7、智能计算系统的形态 8、智能计算系统具有重大价值 9、智能计算系统的三大困难 10、开创深度学习处理器方向 11、寒武纪的国…

MySQL监控和日志管理:故障排查与性能分析

一、MySQL监控 一、监控工具介绍 MySQL自带了一些非常有用的监控工具。例如"SHOW STATUS"命令,它可以显示MySQL服务器的当前状态。此外,还有"SHOW PROCESSLIST"命令,它可以显示当前正在运行的进程。 另外,还有许多强大的第三方工具可供选择: **Percon…

用一个ESP32S3-Zero把有线键盘变为无线

三脚猫最近一直琢磨&#xff0c;那些喜欢买剪线键盘&#xff0c;以及自制键盘瞎折腾的人都是怎么搞的。经过不懈努力&#xff0c;终于想明白除了直接的硬件一个个pin针的高低电压判断后转给蓝牙&#xff0c;拿到现成的古董剪线键盘还有一个方式其实是在usb host转发给蓝牙类似这…