当前位置: 首页 > news >正文

Golang 开发实战day04 - Standard Library

Golang 开发实战day04 - Standard Library

接下来开始我们第四天学习,Go语言标准库提供了丰富的功能,可以帮助开发者快速完成各种任务。

golang就像其他语言一样,附带了一些非常轻量级的函数和特性,都是开箱即用的,这里附上官网地址:
🤙🤙🤙https://pkg.go.dev/std#stdlib
在这里插入图片描述

1. 标准库涵盖了以下领域:

  • 基础设施:包含对操作系统、文件系统、网络、时间等基础功能的支持。
  • 数据结构:提供常用的数据结构,如数组、链表、映射等。
  • 编码:提供对JSON、XML、Protobuf等编码格式的支持。
  • 加密:提供对AES、RSA等加密算法的支持。
  • 测试:提供对单元测试、性能测试等测试功能的支持。
  • 并发:提供对并发编程的支持,如goroutine、channel等。
  • 反射:提供对程序运行时信息的访问和操作。

示例1. strings.Contains()

	greeting := "你好,哆啦A梦!"fmt.Println(strings.Contains(greeting, "你好"))

output:
true

✅Strings.contains的源码如下

func Contains(s, substr string) bool

✅参数说明:

s: 要检查的字符串。
substr: 要查找的子字符串。

✅返回值:

bool: 如果s包含substr,则返回true;否则返回false。

示例2. strings.ReplaceAll()

fmt.Println(strings.ReplaceAll(greeting, "你好", "你好厉害"))

output:
你好厉害, 哆啦A梦!

✅Strings.contains的源码如下

func ReplaceAll(s, old, new string, n int) string

✅参数说明:

s: 要替换的字符串。
old: 要查找的子字符串。
new: 替换后的字符串。
n: 替换的最大次数。如果n < 0,则替换所有匹配的子字符串。

✅返回值:

string: 替换后的字符串。

示例3. strings.index()

greeting := "hello, my dear friends!"
fmt.Println(strings.Index(greeting, "ll"))

output:
2

示例4. strings.split()

greeting := "hello, my dear friends!"
fmt.Println(strings.Split(greeting, " "))

output:
[hello, my dear friends!]

接下来展示一些数组类内容
示例5. sort.Ints()

ages := [ ] int{42, 24, 56, 122, 434, 22, 12, 45}
sort.Ints(ages)
fmt.Println(ages)

output:
[12 22 24 42 45 56 122 434]

示例6. sort.SearchInts()

index := sort.SearchInts(ages, 45)
fmt.Println(index)

output:
4

示例7. sort.SearchStrings()

names := []string{"小叮当", "大雄", "静香", "小夫", "胖虎"}
sort.Strings(names)
fmt.Println(names)fmt.Println(sort.SearchStrings(names, "大雄"))

output:
[大雄 小叮当 小夫 胖虎 静香]
0

在这里插入图片描述

感谢观看,下一期内容golang 循环

相关文章:

Golang 开发实战day04 - Standard Library

Golang 开发实战day04 - Standard Library 接下来开始我们第四天学习&#xff0c;Go语言标准库提供了丰富的功能&#xff0c;可以帮助开发者快速完成各种任务。 golang就像其他语言一样&#xff0c;附带了一些非常轻量级的函数和特性&#xff0c;都是开箱即用的&#xff0c;这里…...

程序员排查BUG指南

程序员排查BUG&#xff08;错误&#xff09;是软件开发过程中的重要一环, 以下是一份程序员排查BUG的指南&#xff0c;帮助你更有效地识别、定位和修复问题&#xff1a; 1、重现BUG&#xff1a;确保能够准确地重现BUG&#xff0c;这是解决问题的第一步。尽量记录重现BUG的步骤。…...

【Vue】elementUI-MessageBox组件相关

官方代码&#xff1a; <template><el-button type"text" click"open">点击打开 Message Box</el-button> </template><script>export default {methods: {open() {this.$confirm(此操作将永久删除该文件, 是否继续?, 提示…...

数据库运行状况和性能监控工具

数据库监控是跟踪组织中数据库的可用性、安全性和性能的过程&#xff0c;它涉及通过跟踪各种关键指标来分析数据库的性能&#xff0c;确保数据库的正常运行并具有深入的可见性&#xff0c;并在出现潜在问题时触发即时警报&#xff0c;以采取主动措施来确保数据库的高可用性。 …...

CTF-辨别细菌

题目描述&#xff1a;try your best to find the flag. 进入靶场后发现是一个游戏&#xff0c;需要全部答对才可以得到最后的flag 查看了一下源码&#xff0c;发现有一个答案模板的模块 尝试解释一下代码 <!-- 答案模版 --> <script id"template_game_pi…...

RuoYi-Vue开源项目2-前端登录验证码生成过程分析

前端登录验证码实现过程 生成过程分析 生成过程分析 验证码的生成过程简单概括为&#xff1a;前端登录页面加载时&#xff0c;向后端发送一个请求&#xff0c;返回验证码图片给前端页面展示 前端页面加载触发代码&#xff1a; import { getCodeImg } from "/api/login&q…...

error: C preprocessor fails sanity check

问题 ./configure --prefix/opt/mips_lib/libev --hostmipsel-openwrt-linux CCmipsel-openwrt-linux-gcc运行后提示 checking how to run the C preprocessor... mipsel-openwrt-linux-gcc --sysroot/opt/mt7628/toolchain-mipsel_24kc_gcc-8.4.0_musl -I/opt/mt7628/toolch…...

Kubernetes实战(三十一)-安装containerd

1 资源 containerd项目官方地址 GitHub - containerd/containerd: An open and reliable container runtime containerd的发布版本地址&#xff1a; Releases containerd/containerd GitHub 2 安装containerd 2.1 解压安装 2.1.1 下载压缩包 curl -LO https://github…...

使用docker搭建faiss向量数据库

为了不污染服务器环境&#xff0c;保证程序运行时有更好的隔离性&#xff0c;领导要求基于容器运行程序。 一、准备工作 1、创建文件夹faiss 该文件夹有用于存放faiss相关的文件及脚本 mkdir ~/faiss 2、创建data文件夹 cd ~/faiss mkdir data 这个文件夹用于volume&#xf…...

安卓面试题多线程 121-125

121. 简述当一个线程进入某个对象的一个 synchronized 的实例方 法后,其它线程是否可进入此对象的其它方法 ?如果其他方法没有 synchronized 的话,其他线程是可以进入的。 所以要开放一个线程安全的对象时,得保证每个方法都是线程安全的122. 简述乐观锁和悲观锁的理解及如何…...

什么是 HTTPS?它是如何解决安全性问题的?

什么是 HTTPS&#xff1f; HTTPS&#xff08;HyperText Transfer Protocol Secure&#xff09;是一种安全的通信协议&#xff0c;用于在计算机网络上安全地传输超文本&#xff08;如网页、图像、视频等&#xff09;和其他数据。它是 HTTP 协议的安全版本&#xff0c;通过使用加…...

C++入门(下)

文章目录 1:引用1.1:引用概念1.2:引用的特性.1.2.1:引用在定义时必须初始化1.2.2:一个变量可以有多个引用1.2.3:引用一旦引用一个实体,再不能引用其他实体. 1.3:应用场景1.3.1:做参数1.3.2:做返回值1.3.2.1:传值返回1.3.2.2:传引用返回(错误示范)1.3.2.3:传引用返回(正确示范) …...

2024-03-20 作业

作业要求&#xff1a; 1> 创建一个工人信息库&#xff0c;包含工号&#xff08;主键&#xff09;、姓名、年龄、薪资。 2> 添加三条工人信息&#xff08;可以完整信息&#xff0c;也可以非完整信息&#xff09; 3> 修改某一个工人的薪资&#xff08;确定的一个&#x…...

【机器学习】深入解析线性回归模型

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:机器学习 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! 【机器学习】深入解析线性回归模型 引入一 初步了解1.1 概念1.2 类比二 基本要素2.1 数据2.2 模型…...

新一代云原生数据库OLAP

2023 OLAP峰会&#xff08;公开&#xff09;PPT汇总&#xff08;25份&#xff09;.zip 新一代云原生数据库的OLAP&#xff08;联机分析处理&#xff09;能力是其重要的特性之一&#xff0c;这种能力使得数据库能够支持复杂的数据分析查询&#xff0c;从而满足企业对大数据的深…...

JavaEE--小Demo

目录 下载包 配置 修改文件 pom.xml application.properties 创建文件 HelloApi.java GreetingController.java Greeting.java DemoApplication.java 运行包 运行命令 mvn package cd target dir java -jar demo-0.0.1-SNAPSHOT.jar 浏览器测试结果 下载包 …...

一代大神跌落神坛——Java炸了!

曾经它是只手遮天的一大计算机语言.......可现如今&#xff0c;腹背受敌、大势已去&#xff0c;一代神话跌落神坛&#xff01; Java薪水20k降至15k难掩颓势&#xff0c;事业编3k升至3500尽显嫡道风范&#xff01;嫡嫡道道、嫡嫡道道~ 没错&#xff0c;就是它&#xff01;Java…...

面试算法-64-零钱兑换

题目 给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额&#xff0c;返回 -1 。 你可以认为每种硬币的数量是无限的…...

Java复习06 Spring 代码概念

Java复习06 Spring 代码概念 1.基本代码 Component public class CommunityApplicationTests implements ApplicationContextAware {private ApplicationContext applicationContext;Overridepublic void setApplicationContext(ApplicationContext applicationContext) thr…...

【研究僧总结】回顾第1095个创作日

目录 前言一. 机缘二. 日常三. 展望 前言 感觉刚过1024不久&#xff0c;现在又来个1095创作日 一. 机缘 研究僧一直在找平台做笔记&#xff0c;方便之后的回顾总结&#xff0c;也让各位网友见证你我的成长&#xff0c;相互学习 止不住的写文止不住的成长&#xff0c;大家共同…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...

【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案

目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后&#xff0c;迭代器会失效&#xff0c;因为顺序迭代器在内存中是连续存储的&#xff0c;元素删除后&#xff0c;后续元素会前移。 但一些场景中&#xff0c;我们又需要在执行删除操作…...

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开&#xff0c;快捷键也不好用&#xff0c;当看到 Cursor 升级后&#xff0c;还是蛮高兴的 1. 下载 Cursor 下载地址&#xff1a;https://www.cursor.com/cn/downloads 点击下载 Linux (x64) &#xff0c;…...