Go语言的常用内置函数

文章目录

  • 一、Strings包
      • 字符串处理包定义
      • Strings包的基本用法
      • Strconv包中常用函数
  • 二、Time包
  • 三、Math包
      • math包概述
      • 使用math包
  • 四、随机数包(rand)

一、Strings包

字符串处理包定义

Strings包简介:

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

Strings包的基本用法

Go语言常用strings网址

在这里插入图片描述

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

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

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

  • 检索字符串

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

  • 分割字符串

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

  • 大小写转换

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

  • 修剪字符串

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

  • 比较字符串

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

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

Strconv包中常用函数

  • Parse类函数:

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

  • Format类函数

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

示例:

package mainimport ("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 mainimport ("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 mainimport ("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 mainimport ("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之间的随机数
}

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Vue实战学习(2)(Vue快速入门(快速构建一个局部Vue项目))

目录 一、Vue快速入门。 (1)快速入门的案例需求。 (2)原生js解决。 (3)使用Vue解决。 1、准备一个html页面。且该页面需要引入Vue模块。 2、创建Vue程序的应用实例。 3、准备html元素(如div&…

canal1.1.7使用canal-adapter进行mysql同步数据

重要的事情说前面,canal1.1.8需要jdk11以上,大家自行选择,我这由于项目原因只能使用1.1.7兼容版的 文章参考地址: canal 使用详解_canal使用-CSDN博客 使用canal.deployer-1.1.7和canal.adapter-1.1.7实现mysql数据同步_mysql更…

羽星股份引领连锁业数智化转型,厦门羽星科技公司逆势增长剑指纳斯达克

羽星股份引领连锁业数智化转型,厦门羽星科技公司逆势增长剑指纳斯达克 在消费降级的大环境下,许多企业面临严峻挑战。在消费降级背景下,消费者购买力下降,对价格敏感度提升,更加注重产品的性价比和实用性。这一趋势促使…

RabbitMQ应用

1. 7种工作模式介绍 1.1 Simple(简单模式) P: ⽣产者,也就是要发送消息的程序C: 消费者,消息的接收者Queue: 消息队列(图中⻩⾊背景部分)类似⼀个邮箱,可以缓存消息;⽣产者向其中投递消息,消费者从 其中取出消息 特点: ⼀个⽣产者P,⼀个消费者C, 消息只能被消费…

从Java中使用new 关键字创建对象开始,深度剖析对象结构与存储

文章目录 1.对象结构2.扩展补充3.小结 1.对象结构 在介绍之前.先来看一个java高频面试题,new String(hello") 创建了几个对象? 1.这里分情况讨论,如果hello已经在常量池中存在,那么就是在堆中创建1个对象,并返回…

ThreadLocal 的原理和使用场景

1.ThreadLocal是什么 ThreadLocal 是 Java 提供的一个用于线程存储本地变量的类。它为每个线程提供独立的变量副本,确保变量在多线程环境下的线程安全。每个线程访问 ThreadLocal 时,都会有自己专属的变量副本,互不干扰,避免了并…

qt QColorDialog详解

1、概述 QColorDialog是Qt框架中的一个对话框类,专门用于让用户选择颜色。它提供了一个标准的颜色选择界面,其中包括基本的颜色选择器(如调色板和颜色轮)、自定义颜色输入区域以及预定义颜色列表。QColorDialog支持RGB、HSV和十六…

关于Redis

Redis 基础 什么是 Redis? Redis (REmote DIctionary Server)是一个基于 C 语言开发的开源 NoSQL 数据库(BSD 许可)。与传统数据库不同的是,Redis 的数据是保存在内存中的(内存数据库&#xf…

linux nvidia/cuda安装

1.查看显卡型号 lspci |grep -i vga2.nvidia安装 2.1在线安装 终端输入(当显卡插上之后,系统会有推荐的安装版本) ubuntu-drivers devices可得到如下内容 vendor : NVIDIA Corporation model : TU104GL [Tesla T4] driver : nvid…

uniapp 实现瀑布流

效果演示 组件下载 瀑布流布局-waterfall - DCloud 插件市场

了解聚簇索引和非聚簇索引

在关系型数据库中,索引是提高查询效率的重要手段。索引类似于书籍中的目录,能够帮助数据库快速定位到所需的数据。而在数据库中,最常用的两种索引类型是聚簇索引(Clustered Index)和非聚簇索引(Non-clustered Index)。本文将详细介绍这两种索引类型,帮助读者更好地理解…

CODESYS可视化桌面屏保-动态气泡制作详细案例

#一个用于可视化(HMI)界面的动态屏保的详细制作案例程序# 前言: 在工控自动化设备上,为了防止由于人为误触发或操作引起的故障,通常在触摸屏(HMI)增加屏幕保护界面,然而随着PLC偏IT化的发展,在控制界面上的美观程度也逐渐向上位机或网页前端方面发展,本篇模仿Windows…

【数据结构 队列】超详细理解例题

数据结构 队列 前言队列的定义队列的概念队列的基本操作 队列用C语言实现Queue.hQueue.ctext.c 队列 VS 栈队列的应用 你好,这里是新人 Sunfor 这篇是我最近对于数据结构 队列的学习心得和错题整理 有任何错误欢迎指正,欢迎交流! 会持续更新…

VSCode + linux 远程免密登录

目录 一. VS Code端1. 安装插件Remote - SSH2. 配置config文件3. 公钥生成 二、远程服务器端1. 将生成的公钥发送到远程服务器 三、连接1. 准备就绪后,VSCode连接 一. VS Code端 1. 安装插件Remote - SSH 2. 配置config文件 Host H5WebHostName xx.xx.xx.xxUser ro…

简单分享一下淘宝商品数据自动化抓取的技术实现与挑战

在电子商务领域,数据是驱动决策的关键。淘宝作为国内最大的电商平台之一,其商品数据对电商从业者来说具有极高的价值。然而,从淘宝平台自动化抓取商品数据并非易事,涉及多重技术和法律挑战。本文将从技术层面分析实现淘宝商品数据…

初识网络编程

目录 前言相关名词解释应用层协议——HTTP传输层协议socketTCP帧头格式三次握手、四次挥手 UDPTCP的socket实现 参考博文 前言 刚碰到网络编程,会出现一堆协议、概念、这层次那技术的,头都大了,还是得总结总结…… 相关名词解释 ✨✨网络…

JRTPLIB中的RTPSession与OnSSRCCollision:深入解析SSRC冲突处理机制

JRTPLIB中的RTPSession与OnSSRCCollision:深入解析SSRC冲突处理机制 一、RTP与SSRC基础1.1 RTP简介1.2 SSRC的作用二、JRTPLIB与RTPSession2.1 JRTPLIB概述2.2 RTPSession类三、SSRC冲突与OnSSRCCollision3.1 SSRC冲突的原因3.2 OnSSRCCollision回调函数3.3 OnSSRCCollision的…

【数据集】【YOLO】【目标检测】口罩佩戴识别数据集 1971 张,YOLO佩戴口罩检测算法实战训练教程!

数据集介绍 【数据集】口罩佩戴检测数据集 1971 张,目标检测,包含YOLO/VOC格式标注。 数据集中包含1种分类:{0: face_mask},佩戴口罩。 数据集来自国内外图片网站和视频截图。 检测场景为城市街道、医院、商场、机场、车站、办…

实测讯飞智作,一张照片定制属于自己的数字人

Datawhale亲测 AI应用:讯飞智作 只用一张照片,就可以定制属于自己的数字人。 这是大模型给数字人领域带来的最新震撼。 就在两周前的 AI 开发者 Talk 合肥站活动上,我们 Datawhale 的一名小伙伴玉鑫化身成数字人亮相大屏幕,为参加…

乡村景区一体化系统(门票,餐饮,便利店,果园,娱乐,停车收费

一、一体化优势 1. 提升游客体验:游客可以通过一个系统方便地完成各种消费和预订,无需在不同的地方分别处理,节省时间和精力,使游玩过程更加顺畅和愉快。 2. 提高管理效率:景区管理者能够在一个平台上集中管理多个业…