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.mzph.cn/web/59007.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ESP32+MicroPython】网络编程基础

ESP32作为一款集成了Wi-Fi和蓝牙模块的微控制器,可以方便地与互联网连接,进行HTTP请求和数据传输。本教程将从Wi-Fi连接开始,逐步讲解ESP32如何在MicroPython环境下发送HTTP请求,并展示一些应用实例。我们将涵盖以下内容&#xff…

Springboot+Vue+mysql前后端分离的Java项目部署教程

参考了网上许多文章,有的使用的是nginx,eclipse,其实只要是数据库或者java的软件基本都大同小异。 本人使用phpstudy对项目进行部署,亲测有效。 需要的软件: 1.Node.js安装(ps:这一步我也不知道…

第21节 arkts 如何读取普通文件

在 ArkTS 中读取普通文件可以通过以下几种方式: 使用ohos.fileio 模块 ohos.fileio 模块提供了一系列用于文件操作的接口,可以用于读取普通文件。以下是一个简单的示例,展示如何读取一个文本文件的内容: import fileio from o…

Linux系统程序设计--2. 文件I/O

文件I/O 标准C的I/O FILE结构体 下面只列出了5个成员 可以观察到,有些函数没有FILE类型的结构体指针例如printf主要是一些标准输出,因为其内部用到了stdin,stdout,stderr查找文件所在的位置:find \ -name stat.h查找头文件所…

OpenSSL 生成根证书、中间证书和网站证书

OpenSSL 生成根证书、中间证书和网站证书 一、生成根证书(ChinaRootCA)二、生成中间 CA(GuangDongCA)三、生成网站证书(gdzwfw) 一、生成根证书(ChinaRootCA) 创建私钥: …

【ShuQiHere】️ 深入了解 ADB(Android Debug Bridge):您的 Android 开发利器!

📟🔧【ShuQiHere】️ 🔧📟 在 Android 应用开发和设备管理中,ADB(Android Debug Bridge) 是一个不可或缺的工具。无论您是开发者、技术爱好者,还是普通用户,掌握 ADB 的…

HarmonyOS Next 实战卡片开发 02

HarmonyOS Next 实战卡片开发 02 卡片开发中,还有一个难点是显示图片。其中分为显示本地图片和显示网络图片 显示本地图片 卡片可以显示本地图片,如存放在应用临时目录下的图片。路径比如 /data/app/el2/100/base/你的项目boundleName/temp/123.png 以…

Linux之文件和目录类命令详解(2)

Linux之文件和目录类命令详解(2) 1、mv-移动文件或重命名2、find-查找文件和目录3、locate-快速查找文件4、du-显示目录或文件的磁盘使用情况5、df-显示文件系统的磁盘空间使用情况6、chmod-更改文件或目录的权限7、chown-更改文件或目录的拥有者8、tree…

【SpringMVC】记录一次Bug——mvc:resources设置静态资源不过滤导致WEB-INF下的资源无法访问

SpringMVC 记录一次bug 其实都是小毛病,但是为了以后再出毛病,记录一下: mvc:resources设置静态资源不过滤问题 SpringMVC中配置的核心Servlet——DispatcherServlet,为了可以拦截到所有的请求(JSP页面除外&#xf…

MySQL 程序设计课程复习大纲

作为一门基础的 MySQL 程序设计课程,期末复习的重点应放在常见的数据库操作、基本查询、数据建模、关系型数据库的规范化设计等方面。以下是针对基础课程的 MySQL 期末复习知识点。 1. MySQL 基础概念与数据库操作 数据库基础 数据库与表的概念数据库管理系统&…

【C++ 算法进阶】算法提升十一 十二

目录标题 让字符串成为回文串的最少插入次数题目题目分析代码题目题目 字符子串 (滑动窗口)题目题目分析代码 最长连续子序列 (头尾表)题目题目分析代码 让字符串成为回文串的最少插入次数 题目 本题为为LC原题 题目如下 题目分…

让redis一直开启服务/自动启动

文章目录 你的redis是怎么打开的黑窗不能关?必须要自动启动吗?再说说mysql 本文的所有指令都建议在管理员权限下打开cmd控制台 推荐的以管理员身份打开控制台的方式 Win R 打开运行 输入cmdShift Ctrl Enter 你的redis是怎么打开的 安装过redis的朋友都知道, redis的安…

国产linux系统(银河麒麟,统信uos)使用 PageOffice 实现word文件在线留痕

PageOffice 国产版 :支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)、龙芯(LoogArch)芯片架构。 查看本示例演示效果 …

域名邮箱推荐:安全与稳定的邮件域名邮箱!

域名邮箱推荐及绑定攻略?最好用的域名邮箱服务推荐? 域名邮箱,作为一种个性化且专业的电子邮件服务,越来越受到企业和个人的青睐。烽火将详细介绍域名邮箱登录的全过程,从注册到登录,帮助您轻松掌握这一重…

AI教育革命:个性化学习的新篇章

内容概要 在 教育 领域,人工智能 的崭露头角带来了前所未有的变化。如今,个性化学习 已不再是一个遥不可及的梦想,而是通过 AI 技术真正实现的可能。借助先进的数据分析能力,教师可以实时跟踪和评估每位学生的学习进度&#xff0…

[2024最新] macOS 发起 Bilibili 直播(不使用 OBS)

文章目录 1、B站账号 主播认证2、开启直播3、直播设置添加素材、隐私设置指定窗口添加/删除 窗口 4、其它说明官方直播帮助中心直播工具教程 目前搜到的 macOS 直播教程都比较古早,大部分都使用 OBS,一番探索下来,发现目前已经不需要 OBS了&a…

刷题---轮转数组

本题来自力扣刷题:轮转数组 首先我们来看一下题目描述 解题思路:首先创建一个新的数组,将后面k个数据数据放到新数组前面,将size-1个数据放在剩下的空间中,再把新数组的数据赋值给nums。看下图更好理解 代码展示 vo…

默认 iOS 设置使已锁定的 iPhone 容易受到攻击

苹果威胁研究的八个要点 苹果手机间谍软件问题日益严重 了解 Apple 苹果的设备和服务器基础模型发布 尽管人们普遍认为锁定的 iPhone 是安全的,但 iOS 中的默认设置可能会让用户面临严重的隐私和安全风险。 安全研究员 Lambros 通过Pen Test Partners透露&#…

vue3的Composition API(hooks)

1. setup函数 setup是一个新的组件选项,作为组件中使用组合API的起点。 从组件生命周期来看,它的执行在组件实例创建之前vue2.x的beforeCreate执行。 这就意味着在setup函数中this 还不是组件实例,this此时是undefined 在模版中需要使用的…

React Native WebView 进阶:实现带回调函数的通讯

实现带回调的通讯 Web 端实现 在网页中&#xff0c;我们使用 window.callbacks 对象来注册回调函数&#xff0c;并将 callbackId 传递给 App&#xff1a; <script>window.callbacks {callbacks: {},register: function(successCallback, errorCallback) {const callb…