字符串 -- string

  • 字符串使用双引号表示 " "

  • 多行或原始字符串(反斜杠失去转义行为)使用 反引号 ``

  • 字符使用单引号表示 ' ',表示单独的字母、中文、数字

  • 字符串转换 -- strings

    • 拼接 + fmt.Sprintf
    • 分割 Split
    • 连接 Join
    • 包含 Contains
    • 前后缀判断 HasPrefix HasSuffix
    • 子串位置 Index LastIndex
    • ...
    package main
    
    import (
    "fmt"
    "strings"
    ) func main() {
    name := "beimenchuixue"
    fmt.Printf("%T", name) // 字符拼接
    age := "18岁"
    // + 号拼接
    fmt.Println(name + age)
    // 格式化拼接
    newStr := fmt.Sprintf("%s%s", name, age)
    fmt.Println(newStr) // 字符串分割 split,反引号让转义符号\失去转义,成为一个普通字符
    filePath := `C:\Users\Administrator\Desktop\blog\golang\基础知识`
    fmt.Println(strings.Split(filePath, "\\")) // 字符串前缀和后缀判断
    fileName := "b-hi.jpg"
    // 前缀判断
    fmt.Println(strings.HasPrefix(fileName, "b"))
    // 后缀判断
    fmt.Println(strings.HasSuffix(fileName, ".jpg")) // 包含某个字符判断 contain
    fmt.Print(strings.Contains(fileName, "hi"))
    }
  • 字符串是不可变类型,想修改需要讲字符串转换成其他可变类型

转义字符-反斜杠 \

  • 把前置了反斜杠的字符转义成特殊字符

    双引号 \"

    单引号 \'

    回车 \r

    换行 \n

    退格 \b

字符编码

  • 二进制 - 数字 - 字符
  • Go内存使用Unicode编码,源文件使用UTF-8编码
  • 通用编程语言,源码文件使用UTF-8编码,读取到内存中运行使用Unicode编码

字符默认类型

  • 使用双引号的默认为string类型,runeint32的别名
  • 使用单引号的默认为int32类型,byteuint8的别名

字符串抽取和切片

  • 抽取 string[index] => []byte(string)[index]

    这对包含中文的字符串出现问题,为了正确识别,可以将字符串转成 []rune类型或者通过 for range 遍历

  • 切片 string[start:end]

  • 抽取和切片的索引使用的字节单位

Go-数据类型-字符串-string的更多相关文章

  1. redis 基本数据类型-字符串(String)

    不瘦原来对redis也是有个大概的了解(就你知道的多), 但是最近和大神聊天的过程中才明白自己知道的简直就是鸡毛蒜皮(让你得瑟),所以不瘦打算从头在捋一遍,顺便把过程也记录下来,如果能给大家在学习re ...

  2. Javascript基础系列之(三)数据类型 (字符串 String)

    javascript一共有9种数据类型 字符串 String 数值型 Number 布尔型 Boolean 未定义 Undefine 空值 Null 对象 Object 引用Refernce 列表型 ...

  3. python 数据类型: 字符串String / 列表List / 元组Tuple / 集合Set / 字典Dictionary

    #python中标准数据类型 字符串String 列表List 元组Tuple 集合Set 字典Dictionary 铭记:变量无类型,对象有类型 #单个变量赋值 countn00 = '; #整数 ...

  4. C# 数据类型之 String(字符串)

    Ø  简介 在开发中最常见的数据类型就是 String 类型,即字符串类型.为什么要单独讨论下这个类型,是因为:它是系统内置的基础数据类型:它的使用频率非常高:它是一个特殊的引用类型.其实大家都会使用 ...

  5. Java中字符串string的数据类型

    Java中字符串string的数据类型 时间:2017-07-03 08:01:47 YuanMxy 原文:https://blog.csdn.net/YuanMxy/article/details/ ...

  6. Python基础数据类型-字符串(string)

    Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...

  7. 数据类型总结——String(字符串类型)

    相关文章 简书原文:https://www.jianshu.com/p/546a755c3eb6 数据类型总结——概述:https://www.cnblogs.com/shcrk/p/9266015. ...

  8. javascript类型系统——字符串String类型

    × 目录 [1]定义 [2]引号 [3]反斜线[4]特点[5]转字符串 前面的话 javascript没有表示单个字符的字符型,只有字符串String类型,字符型相当于仅包含一个字符的字符串 字符串S ...

  9. c#中的数据类型简介(string)

    Sting 字符串 引入话题 字符串是一个引用类型,从string数据类型的代码定义中也可以看出它实现了IEnumerable<char>接口和IEnumerable接口,因此字符串可以看 ...

  10. 自学Python2.1-基本数据类型-字符串str(object)

    Python str方法总结 class str(object): """ str(object='') -> str str(bytes_or_buffer[, ...

随机推荐

  1. 经典c程序100例==91--100

    [程序91] 题目:时间函数举例1 1.程序分析: 2.程序源代码: #include "stdio.h" #include "time.h" void mai ...

  2. 【日拱一卒】链表——如何实现lru

    LRU Redis的内存淘汰机制好几种,如ttl.random.lru. lru(less recently used)即最近最少使用策略,表示在最近一段时间内最少被使用到的Redis键,如果遇到内存 ...

  3. select实现超时(套接字IO超时设置)

    实现超时的三种方式: 1.SIGALARM信号 void  handler(int sig) { return 0; } signal(SIGALRM,handler); alarm(5); int ...

  4. centos6 安装 terminator

    yum install terminator 报错: No package terminator available. 解决: yum install epel-release 报错 Cannot r ...

  5. linux之DHCP服务

    1.DHCP介绍(动态主机配置协议)  DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议, 主要用途:给内部网络或网络服务供应 ...

  6. nginx配置代理缓存

    nginx可以实现反向代理的配置,并且可以使用缓存来加速,本文是简单的实现功能的配置,暂时没有做其他的优化的部分的配置,从网上的资料来看,很多配置都是没有讲哪些是必须配置的,我自己在配置过程中就发现没 ...

  7. python菜鸟教程学习4:基本数据类型

    变量:python中的变量不需要声明,但在使用前都必须要赋值,变量赋值之后才会被创建 在python中变量是没有类型的,所有的数据类型是对内存中对象的类型. 赋值:使用等号=来给变量赋值 python ...

  8. 03、MyBatis 映射文件

    1.XML映射器 2.select Select元素来定义查询操作 Id:唯一标识符 - 用来引用这条语句,需要和接口的方法名一致 parameterType:参数类型 - 可以不传,MyBatis会 ...

  9. bWAPP----Mail Header Injection (SMTP)

    Mail Header Injection (SMTP) 本地没有搭环境,没法演示,附上转载的 https://www.acunetix.com/blog/articles/email-header- ...

  10. FL Studio 插件使用教程 —— 3x Osc(下)

    我们继续深入研究一下fl的3x Osc教程. 包络线是修饰音色非常重要的一个部件,有了它,音色不再是单调的长音,而能有长有短,有深有浅,变得丰富多彩.因此,学习包络线的运作原理很重要. 图1:包络线界 ...