Go基础编程实践(一)—— 操作字符串
修剪空格
strings
包中的TrimSpace
函数用于去掉字符串首尾的空格。
package main
import (
"fmt"
"strings"
)
func main() {
helloWorld := "\t Hello, World "
trimHello := strings.TrimSpace(helloWorld)
fmt.Printf("%d %s\n", len(helloWorld), helloWorld)
fmt.Printf("%d %s\n", len(trimHello), trimHello)
// 15 Hello, World
// 12 Hello, World
}
提取子串
Go字符串的底层是read-only
的[]byte
,所以对切片的任何操作都可以应用到字符串。
package main
import "fmt"
func main() {
helloWorld := "Hello, World and Water"
cutHello := helloWorld[:12]
fmt.Println(cutHello)
// Hello, World
}
替换子串
strings
包的Replace
函数可以对字符串中的子串进行替换。
package main
import (
"fmt"
"strings"
)
func main() {
helloWorld := "Hello, World. I'm still fine."
replaceHello := strings.Replace(helloWorld, "fine", "OK", 1)
fmt.Println(replaceHello)
// Hello, World. I'm still OK.
}
// 注:Replace函数的最后一个参数表示替换子串的个数,为负则全部替换。
转义字符
字符串中需要出现的特殊字符要用转义字符\
转义先,例如\t
需要写成\\t
。
package main
import "fmt"
func main() {
helloWorld := "Hello, \t World."
escapeHello := "hello, \\t World."
fmt.Println(helloWorld)
fmt.Println(escapeHello)
// Hello, World.
// Hello, \t World.
}
大写字符
strings
包的Title
函数用于将每个单词的首字母大写,ToUpper
函数则将单词的每个字母都大写。
package main
import (
"fmt"
"strings"
)
func main() {
helloWorld := "hello, world. i'm still fine."
titleHello :=strings.Title(helloWorld)
upperHello := strings.ToUpper(helloWorld)
fmt.Println(titleHello)
fmt.Println(upperHello)
// Hello, World. I'M Still Fine.
// HELLO, WORLD. I'M STILL FINE.
}
Go基础编程实践(一)—— 操作字符串的更多相关文章
- k2datas 基础编程题,判断字符串是否有重复串
package String; public class DuplicateString { public static boolean isDup(String s) throws Exceptio ...
- Go基础编程实践(三)—— 日期和时间
日期和时间 package main import ( "fmt" "time" ) func main() { // 获取当前时间 current := ti ...
- Go基础编程实践(十)—— 数据库
从数据库中读取数据 在http://sqlitebrowser.org/下载sqlite3可视化工具,在本main.go同目录下创建personal.db数据库,创建表如下: package main ...
- Go基础编程实践(九)—— 网络编程
下载网页 package main import ( "io/ioutil" "net/http" "fmt" ) func main() ...
- Go基础编程实践(八)—— 系统编程
捕捉信号 // 运行此程序,控制台将打印"Waiting for signal" // 按Ctrl + C 发送信号以关闭程序,将发生中断 // 随后控制台依次打印"Si ...
- Go基础编程实践(七)—— 并发
同时运行多个函数 观察常规代码和并发代码的输出顺序. // 常规代码,顺序执行,依次输出 package main import ( "fmt" "time" ...
- Go基础编程实践(六)—— 文件
检查文件是否存在 在此程序同目录下创建log.txt文件,以检测. package main import ( "os" "fmt" ) func main() ...
- Go基础编程实践(五)—— 错误和日志
自定义错误类型 Go中可以使用errors.New()创建错误信息,也可以通过创建自定义错误类型来满足需求.error是一个接口类型,所有实现该接口的类型都可以当作一个错误类型. // error类型 ...
- Go基础编程实践(四)—— 数组和map
数组去重 package main import "fmt" func main(){ intSlice := []int{1,5,5,5,5,7,8,6,6, 6} fmt.Pr ...
随机推荐
- CF 852E Casinos and travel
题目链接 \(Desccription\) 给定一棵树,John从任意一个点开始,每次走向一个未到达过的点.每个点都可以有或没有赌场,每经过一个赌场心情都会反转,旅行开始前心情很好. 问有多少种方案使 ...
- 洛谷P2068 统计和题解
题目描述 给定一个长度为n(n<=100000),初始值都为0的序列,x(x<=10000)次的修改某些位置上的数字,每次加上一个数,然后提出y (y<=10000)个问题,求每段区 ...
- SQL基础-游标&事务
一.游标 1.游标简介 SQL是一种集合操作语言,但有时候需要对单行操作怎么办呢? 也就是有时候会过滤出不止一行的数据,但是想一行行的处理: ---游标 游标: 从集合中依次提取单条记录,直接提取完最 ...
- 前端零基础入门:页面结构层HTML(3)
搭建网页HTML结构 标签 标签 块级标签 和 行内标签 标签嵌套规则 和 div css 标签是一个区块容器标记, 之间是一个容器,可以包含段落,表格,图片等各种HTML元素. 标签没有实际意义,为 ...
- python range 和xrange
对于这两个好像功能都差不多,这两个经常会被搞混,所以今天一定要把这个完全弄清楚. 首先我们看看range: range([start,] stop[, step]),根据start与stop指定的范围 ...
- Java设计模式之builder模式
Java设计模式之builder模式 今天学mybatis的时候,知道了SQLSessionFactory使用的是builder模式来生成的.再次整理一下什么是builder模式以及应用场景. 1. ...
- [技术博客] 【vagrant】硬盘扩容
同样,这也是少昂早年走过的坑,这里直接贴出少昂个人博客链接:https://www.cnblogs.com/HansBug/p/9447020.html PS:有一位经验丰富的后端大佬坐镇指挥是多么幸 ...
- fdisk、mkfs.ext4、make_ext4fs、img2simg、simg2img
一个典型的嵌入式系统是由uboot+kernel+rootfs组成的,其中uboot和kernel都是二进制,rootfs存在文件系统. 二进制在烧录的时候比较简单,将二进制数据写入存储设备固定地址: ...
- 韦东山视频第3课第1节_JNI_P【学习笔记】
一.android系统java调用C方法的大概的流程图如下: 二.下面写一个JNI的程序,java的hello方法在加载native库之后能够调用C方法. 2.1 JNIDemo.java 文件内容如 ...
- Java 字符集编码
一.字符编码实例1.NioTest13_In.txt文件内容拷贝到NioTest13_Out.txt文件中 public class NioTest13 { public static void ma ...