Go语言 字符串和数组

本文主要内容为Go语言数据类型中字符串和数组定义、特性及使用示例。

目录

字符串(String)

定义

长度及访问

拼接

strings 包

判断前缀

查找

转为大写

转为小写

数组(定长)

定义

遍历

方式一

方式二

忽略值

总结


字符串(String)

定义

定义字符串单行和多行。

示例如下:

package main

import "fmt"

func main() {
   // 1 定义

   name := "miko"

   // 需要换行,原生输出字符串时,使用反引号``
   duo := `《面朝大海,春暖花开》
从明天起,做一个幸福的人
喂马、劈柴,周游世界
从明天起,关心粮食和蔬菜
我有一所房子,面朝大海,春暖花开
从明天起,和每一个亲人通信
告诉他们我的幸福
那幸福的闪电告诉我的
我将告诉每一个人
给每一条河每一座山取一个温暖的名字
陌生人,我也为你祝福
愿你有一个灿烂的前程
愿你有情人终成眷属
愿你在尘世获得幸福
我只愿面朝大海,春暖花开`

   fmt.Println(name)
   fmt.Println(duo)
}

长度及访问

String没有.length方法,可以使用自由函数len()进行处理

示例如下:

len1 := len(name)
fmt.Println(len1)

// for不需要加()
for i := 0; i < len(name); i++ {
   fmt.Println("i:%d, v:%c\n", i, name[i])
}

拼接

可以使用+号进行字符串的拼接。

示例如下:

// 字符串拼接
i, j := "say:", "hello"
fmt.Println("i+j=", i+j)

// 使用const修饰为常量,不能修改
const address = "北京"
// address = "上海"
fmt.Println("address", address)

strings 包

strings 包是用于处理字符串的工具包

里面有很多常用的函数

帮助我们对字符串进行操作。

判断前缀

示例:

fmt.Println(strings.HasPrefix("helloworld", "h"))

查找

示例:

fmt.Println(strings.Index(duo, "幸福"))

转为大写

示例:

fmt.Println(strings.ToUpper("helloworld"))

转为小写

示例:

fmt.Println(strings.ToLower("HELLO"))

数组(定长)

在PHP中数组可以不用定义长度,直接新增数据或删除数据。

但在Go语言中数组在定义时需要设置长度,且之后新增数据不可超过设定长度。

数组存放的是固定长度、相同类型的数据,而且这些存放的元素是连续的,

存放的数据类型没有限制。

定义

定义一个具有10个数字的数组,使用三种不同的方式进行定义。

示例如下:

package main

import "fmt"

func main() {
   // 定义 定义一个具有10个数的数组
   var nums = [10]int{1, 2, 3, 4}
   nums2 := [10]int{1, 2, 3, 4} //常用方式
   var nums3 [10]int = [10]int{1, 2, 3, 4}
   fmt.Println(nums)
   fmt.Println(nums2)
   fmt.Println(nums3)
}

运行结果:

[1 2 3 4 0 0 0 0 0 0]
[1 2 3 4 0 0 0 0 0 0]
[1 2 3 4 0 0 0 0 0 0]

这三种定义方式,结果都是一致的。

遍历

对数组的遍历有两种方式来实现。

方式一

通过for循环来进行遍历,输出key和value,与PHP不同的是,for循环没有小括号。

示例如下:

nums := [10]int{1, 2, 3, 4}
for i := 0; i < len(nums); i++ {
   fmt.Println("key => ", i, " value => ", nums[i])
}

运行结果:

key =>  0  value =>  1
key =>  1  value =>  2
key =>  2  value =>  3
key =>  3  value =>  4
key =>  4  value =>  0
key =>  5  value =>  0
key =>  6  value =>  0
key =>  7  value =>  0
key =>  8  value =>  0
key =>  9  value =>  0

方式二

通过 for range方式实现,比较简便。

示例如下:

for key,value := range nums {
   fmt.Println("key => ", key, " value => ", value)
}

Key是数组下标,value是数组的值,结果与遍历方式一一致。

忽略值

在go语言中,如果想忽略一个值,可以使用_。

可以在遍历的时候,忽略某个不用的值,比如忽略数组的key。

示例如下:

for _,value := range nums {
   fmt.Println("value => ", value)
}

运行结果:

value =>  1
value =>  2
value =>  3
value =>  4
value =>  0
value =>  0
value =>  0
value =>  0
value =>  0
value =>  0

总结

本文主要内容为Go语言数据类型中字符串和数组定义、特性及使用示例。

相关推荐

  1. Go语言 字符串数组

    2024-07-16 05:04:02       24 阅读
  2. C语言字符串字符数组有什么区别?

    2024-07-16 05:04:02       34 阅读
  3. Go语言学习03-字符串

    2024-07-16 05:04:02       34 阅读
  4. go语言数组使用

    2024-07-16 05:04:02       40 阅读
  5. go语言-字符串处理常用函数

    2024-07-16 05:04:02       49 阅读
  6. c,c++,go语言字符串的演进

    2024-07-16 05:04:02       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 05:04:02       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 05:04:02       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 05:04:02       57 阅读
  4. Python语言-面向对象

    2024-07-16 05:04:02       68 阅读

热门阅读

  1. 分享一个无损AI图片放大【非网页,PC端】

    2024-07-16 05:04:02       23 阅读
  2. centos5离线安装git

    2024-07-16 05:04:02       27 阅读
  3. 跨域的解决方案

    2024-07-16 05:04:02       27 阅读
  4. Jenkins教程-20-常用插件-Parameterized Trigger

    2024-07-16 05:04:02       22 阅读
  5. Go中的defer看似很简单,实则一点都不难

    2024-07-16 05:04:02       22 阅读
  6. 训练营第十三天 | 二叉树的递归遍历、层序遍历

    2024-07-16 05:04:02       23 阅读
  7. MySQL-字符集(charset)和校对规则(collation)

    2024-07-16 05:04:02       26 阅读