Go语言的常用内置函数

一、Strings包

字符串处理包定义

Strings包简介:

一般编程语言包含的字符串处理库功能区别不是很大,并且高级的语言提供的函数会更多,掌握基本的字符串处理函数后,更丰富的字符串处理函数都是通过封装基本的处理函数实现。因此,熟悉go strings包后基本就能借此封装,应用于特定场景的字符串处理函数。而strconv包实现了字符串与其它基本数据类型之间的类型转换。

Strings包的基本用法

Go语言常用strings网址

在这里插入图片描述

Go语言中的字符串、字节、符文和字符
在这里插入图片描述

打印字符串
在这里插入图片描述在这里插入图片描述

string包中的字符串处理函数:

  • 检索字符串

常用的字符串检索方法如图所示
在这里插入图片描述

  • 分割字符串

分割字符串常用的方法如表所示
在这里插入图片描述

  • 大小写转换

常用的大小写转换方法如表所示
在这里插入图片描述

  • 修剪字符串

修剪字符串常用的方法如表所示
在这里插入图片描述

  • 比较字符串

比较字符串常用的方法如表所示

在这里插入图片描述
示例:
在这里插入图片描述

Strconv包中常用函数

  • Parse类函数:

常用的Parse类函数(将字符串转换为其他类型)如表所示
在这里插入图片描述

  • Format类函数

常用的Format类函数(将其他类型格式化为字符串)如表所示
在这里插入图片描述

示例:

package main

import (
	"fmt"
	"strconv"
)

func main() {
	str := "123"
	num, err := strconv.Atoi(str)
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Println(num) 
	}
}

在这里插入图片描述

二、Time包

Go语言Time网址
在这里插入图片描述

Time包的定义:

  • time包提供了时间的显示和测量用的函数。日历的计算采用的是公历

Time包的常用函数
time包中核心方法如表所示
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

示例:

package main

import (
	"fmt"
	"time"
)
func main() {
	// 获取当前时间
	now := time.Now()
	fmt.Println(now)
	fmt.Println(now.Format("2006-01-02 15:04:05")) // 格式化时间
	t, _ := time.Parse("2006-01-02", "2023-10-01")  // 解析时间
	fmt.Println(t)
	// 计算时间差
	duration := now.Sub(t)
	fmt.Println(duration.Hours()) // 输出小时数
}

在这里插入图片描述

三、Math包

math包概述

Go语言math包

在这里插入图片描述

使用math包

  • math包提供了基本的数学常数和数学函数,使用时需要import “math”

math包中核心方法如表所示

在这里插入图片描述在这里插入图片描述
示例:

package main

import (
    "fmt"
    "math"
)

func main() {
    // 取绝对值
    fmt.Println(math.Abs(-3.5)) // 3.5

    // 幂运算
    fmt.Println(math.Pow(2, 3)) // 8

    // 平方根
    fmt.Println(math.Sqrt(16)) // 4
}

在这里插入图片描述

四、随机数包(rand)

随机数包(rand/math)使用时需要import “math/rand”,rand包实现了伪随机数生成器。随机数从资源生成。包水平的函数都使用的默认的公共资源。该资源会在程序每次运行时都产生确定的序列。如果需要每次运行产生不同的序列,应使用Seed函数进行初始化。默认资源可以安全的用于多协程并发。

Go语言随机数

在这里插入图片描述

Rand包中核心方法如表所示

在这里插入图片描述

获取随机数的几种方法:

  • 通过默认随机数种子获取随机数,具体方法如图所示:
    在这里插入图片描述
  • 总是生成固定的随机数。默认情况下,随机数种子都是1。seed是一个64位整数。
  • 动态随机数种子生成随机资源,实例随机对象来获取随机数,具体方法如下所示。

在这里插入图片描述

  • 简写形式:动态变化随机数种子来获取随机数,具体方法如下所示。
  • (1)获取整型随机数[0,10]

在这里插入图片描述

  • (2)获取浮点型0.0至1.0之间的随机数

在这里插入图片描述

  • (3) 获取两数之间随机数[m , n]

在这里插入图片描述
示例:

package main

import (
	"fmt"
	"math/rand"
	"time"
)
func main() {
	// 使用当前时间初始化随机种子
	rand.Seed(time.Now().UnixNano())
	// 生成随机整数
	fmt.Println(rand.Intn(10)) // 生成0到9的随机数
	// 生成0到1之间的随机浮点数
	fmt.Println(rand.Float64())

	// 生成指定范围的随机整数
	fmt.Println(rand.Intn(7) + 5) // 生成5到11之间的随机数
}

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值