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之间的随机数
}
相关文章:
Go语言的常用内置函数
文章目录 一、Strings包字符串处理包定义Strings包的基本用法Strconv包中常用函数 二、Time包三、Math包math包概述使用math包 四、随机数包(rand) 一、Strings包 字符串处理包定义 Strings包简介: 一般编程语言包含的字符串处理库功能区别…...
华为OD技术一面手撕题
150. 逆波兰表达式求值 来自leecode 给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意: 有效的算符为 、-、* 和 / 。每个操作数(运算对象)都…...
Qt低版本多网卡组播bug
原文地址 最近在某个项目中,发现了一个低版本Qt的bug,导致组播无法正常使用,经过一番排查,终于找到了原因,特此记录。 环境 Qt:5.7.0 mingw32操作系统:windows 11 现象 在Qt5.7.0版本中&…...
Leetcode:540. 有序数组中的单一元素
题目 给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。 请你找出并返回只出现一次的那个数。 你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间复杂度。 输入: nums [1,1,2,3,3,4,4,8,8] 输出: 2 输入:…...
Python数据分析NumPy和pandas(二十七、数据可视化 matplotlib API 入门)
数据可视化或者数据绘图是数据分析中最重要的任务之一,是数据探索过程的一部分,数据可视化可以帮助我们识别异常值、识别出需要的数据转换以及为模型生成提供思考依据。对于Web开发人员,构建基于Web的数据可视化显示也是一种重要的方式。Pyth…...
数组指针和指针的区别
区分数组指针和指针数组 int *p[3]和 int (*p)[3] 根据运算符的优先级,"[]"的优先级是高于“*”的,p就会先与[]结合,那么它本质就是数组,数组内存放的是指针,它叫指针数组。(int*p[3]ÿ…...
Linux git-bash配置
参考资料 命令提示符Windows下的Git Bash配置,提升你的终端操作体验WindowsTerminal添加git-bash 目录 一. git-bash配置1.1 解决中文乱码1.2 修改命令提示符 二. WindowsTerminal配置git-bash2.1 添加git-bash到WindowsTerminal2.2 解决删除时窗口闪烁问题 三. VS…...
【后端速成Vue】computed计算属性
前言: 本期将会介绍 Vue 中的计算属性,他和 methods 方法又会有什么区别呢?在这里都会给你一一讲解。 篮球哥找工作专属IT岗位内部推荐: 专属内推链接:内推通道 1、computed计算属性 概念: 基于现有的数据…...
力扣-每日温度
. - 力扣(LeetCode) 这是我的第一个思路 虽然可以得到正确答案 但是过于暴力 已经超出了时间限制 class Solution { public:vector<int> dailyTemperatures(vector<int>& temperatures) {vector<int>ans;for (int i 0; i <…...
(Go语言)初上手Go?本篇文章帮拿捏Go的数据类型!
1. bool 类型 布尔类型:只有 true 和 false 两种值 在Go中,整数 0 不代表 false 值,1也不代表 true 值 即数字无法代替布尔值进行逻辑判断,两者是完全不同的类型 布尔类型占用 1 字节 2. int 整型 Go中为不同位数的整数分配…...
支付宝域名如何加入白名单(扫码老是弹窗)
支付宝扫码之后,遇到非支付宝官方网页,请确认是否继续访问弹窗,问题解决办法。 本章教程提供解决办法,亲测有效。 一、打开支付宝开放平台 登录地址:https://open.alipay.com/ 然后进行扫码登录。 1、打开网页/移动应用开发 2、前往创建 3、创建应用...
嵌入式学习第21天Linux基础
目录 第1章 Linux 系统介绍 1.1 Unix 操作系统(了解) 1.2 Linux 操作系统(了解) 1.3 Linux 操作系统的主要特性(重点) 1.4 Linux 与 Unix 的区别与联系 1.5 GUN 与 GPL(了解) …...
【activiti工作流源码集成】springboot+activiti+mysql+vue+redis工作流审批流集成整合业务绑定表单流程图会签驳回
工作流集成实际项目案例,demo提供 源码获取方式:本文末个人名片直接获取。 前言 activiti工作流引擎项目,企业erp、oa、hr、crm等企事业办公系统轻松落地,请假审批demo从流程绘制到审批结束实例。 一、项目形式 springbootvue…...
华为私有接口类型hybrid
华为私有接口类型hybrid Tip:hybrid类型,简称混合型接口。 本次实验模拟2层网络下 vlan10 vlan20 不能互访,vlan10 vlan20 同时可以访问vlan100 sw1配置如下: <Huawei>sy [Huawei]sys sw1 [sw1]vl ba 10 20 100 [sw1]int…...
计算机的错误计算(一百五十)
摘要 探讨 MATLAB 中 的计算精度问题。当 为含有小数的大数或 ()附近数时,输出会有错误数字。 例1. 已知 计算 直接贴图吧: 另外,16位的正确值分别为 -0.7882256119904400e0、0.1702266977524110e0、-0.…...
【模块化大作战】Webpack如何搞定CommonJS与ES6混战(3)
在前端开发中,模块化是一个重要的概念,不同的模块化标准有不同的特点和适用场景。webpack 同时支持 CommonJS 和 ES6 Module,因此需要理解它们在互操作时 webpack 是如何处理的。 同模块化标准 如果导出和导入使用的是同一种模块化标准&…...
工程认证与Spring Boot:计算机课程管理的新探索
摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了基于工程教育认证的计算机课程管理平台的开发全过程。通过分析基于工程教育认证的计算机课程管理平台管理的不足,创建了一个计算机管理基于工程教育认…...
vue3的自定义hooks怎么写?
写个hook函数去追踪鼠标位置: 没用hook前: <script setup> import { ref, onMounted, onUnmounted } from vueconst x ref(0) const y ref(0)function update(event) {x.value event.pageXy.value event.pageY }onMounted(() > window.ad…...
SpringBoot项目编译报错 类文件具有错误的版本 61.0, 应为 52.0
springboot项目在编译时报错: /Users/Apple/Developer/art/caicai/cai-api/dubbo-samples/1-basic/dubbo-samples-spring-boot/dubbo-samples-spring-boot-provider/src/main/java/org/apache/dubbo/springboot/demo/provider/ProviderApplication.java:22:32 java…...
【网络】应用层——HTTP协议
> 作者:დ旧言~ > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:了解什么是HTTP协议。 > 毒鸡汤:有些事情,总是不明白,所以我不会坚持。早安! > 专栏选自:网络 &g…...
ServletContext介绍
文章目录 1、ServletContext对象介绍1_方法介绍2_用例分析 2、ServletContainerInitializer1_整体结构2_工作原理3_使用案例 3、Spring案例源码分析1_注册DispatcherServlet2_注册配置类3_SpringServletContainerInitializer 4_总结 ServletContext 表示上下文对象,…...
让AI帮我用java实现EasyExel读取图片—支持WPS嵌入图片
🌈 场景概述 java 小伙伴相信都使用 EasyExcel 以及 POI 库实现过 Excel 批量导入、导出功能,但只有部分人实现过 excel 导入带图片数据的场景。这个技术实现手段网上也有很多案例和demo,最常见的就是通过 XSSFPictureData 来实现。但是在 W…...
C# 实现对指定句柄的窗口进行键盘输入的实现
在C#中实现对指定句柄的窗口进行键盘操作,可以通过多种方式来实现。以下是一篇详细的指南,介绍如何在C#中实现这一功能。 1. 使用Windows API函数 在C#中,我们可以通过P/Invoke调用Windows API来实现对指定窗口的键盘操作。以下是一些关键的…...
深度学习之卷积问题
1 卷积在图像中有什么直观作用 在卷积神经网络中,卷积常用来提取图像的特征,但不同层次的卷积操作提取到的特征类型是不相同的,特征类型粗分如表1所示。 表1 卷积提取的特征类型 卷积层次特征类型浅层卷积边缘特征中层卷积局部特征深…...
yum安装zabbix5.0升级php到74的办法
【背景】 公司时不时有扫描漏洞,之前发现了php漏洞,因开启防火墙,限定IP+端口,暂时躲过升级;现在,老话重提,开启了KPI考核,躲是躲不过去的了,升级吧 【难题】 服务器为centos7,因操作系统问题,只能安装zabbix5.0。当时图省力,官网的办法,都是yum安装,很是简便。…...
JavaWeb合集23-文件上传
二十三 、 文件上传 实现效果:用户点击上传按钮、选择上传的头像,确定自动上传,将上传的文件保存到指定的目录中,并重新命名,生成访问链接,返回给前端进行回显。 1、前端实现 vue3AntDesignVue实现 <tem…...
当AI遇上时尚:未来的衣橱会由机器人来打理吗?
内容概要 在当今这个快速发展的时代,人工智能与时尚的结合正在逐渐改写我们对衣橱管理的认知。传统的衣橱管理常常面临着空间不足、穿搭单调及库存过多等挑战,许多人在挑选服饰时难以做出决策。然而,随着技术的进步,智能推荐和自…...
【初阶数据结构篇】二叉树OJ题
文章目录 须知 💬 欢迎讨论:如果你在学习过程中有任何问题或想法,欢迎在评论区留言,我们一起交流学习。你的支持是我继续创作的动力! 👍 点赞、收藏与分享:觉得这篇文章对你有帮助吗࿱…...
Windows系统中Oracle VM VirtualBox的安装
一.背景 公司安排了师带徒,环境搭建问题一直是初级程序员头疼的事情,我记录一下这些基础的内容,方便初学者。大部分开发者的机器还是windows系统,所以写了怎么安装。 二.版本信息及 操作系统:windows11 家庭版…...
go语言使用总结(持续更新)
整理后的内容如下: 1. 先了解函数签名,再了解传入参数以及调用 函数签名是函数的声明部分,包括函数名、参数列表和返回值列表。理解函数签名是理解函数行为的第一步,尤其是在了解参数类型、参数数量和返回值类型等方面。通过了解…...
加入google广告wordpress/学生个人网页制作成品
在当下这个互联网高速发展时代,很多企业时常会面临软件需求的增加以及开发人员的短缺等问题,所以才得以让低代码开发平台的迅速发展。而且根据今年的状况来看,国内很多企业对于低代码的市场需求也在逐步增加。面对这样的局面,会给…...
西安代做毕业设计网站/海南百度推广公司
本文转自:http://blog.csdn.net/enginetanmary/archive/2007/06/08/1643445.aspx 原文如下: 在编程中我们常常会遇到“将文件保存到数据库中”这样一个问题,虽然这已不是什么高难度的问题,但对于一些刚刚开始编程的朋友来说可能是有一点困难。其实&#…...
南宁seo平台标准/seo综合查询中的具体内容有哪些
1.Jmeter 基本介绍 简单的说,就是Jmeter能做 功能测试 和 性能测试 。它能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试,还能以多种形式展现测试结果。 比如,我一 开始使用这个工具就是为了接口测试…...
《动态网站建设》第04章在线测试/百度推广公司哪家比较靠谱
Lambda定义 lambda 表达式总是括在花括号中, 完整语法形式的参数声明放在花括号内,并有可选的类型标注, 函数体跟在一个 -> 符号之后。如果推断出的该 lambda 的返回类型不是 Unit,那么该 lambda 主体中的最后一个(…...
如何做微网站/宁德市有几个区几个县
Description 南水北调工程是优化水资源配置、促进区域协调发展的基础性工程,是新中国成立以来投资额最大、涉及面最广的战略性工程,事关中华民族长远发展。 “南水北调工程”,旨在缓解中国华北和西北地区水资源短缺的国家战略性工程。就是把中…...
网站建设服务器托管/宝鸡seo培训
一、本次实验环境:在腾讯云虚拟主机centos7上配置pyenv多版本python管理器,并安装交互式web编辑器jupyter,python版本为3.5.2。二、装饰器:装饰器的本质是一个函数,接收一个函数作为参数,并且返回一个函数带参数的装饰…...