go语言学习(数组,切片,字符串)
字符串
如果里面存储的是汉字,那么其实就是存储的是UTF--8编码,所以一个字会对应多个字节.如果想要获取汉字的个数,可以使用rune,来处理unicode字符
length:= utf8.RuneCountInString( s)
如果只使用len()获取的是字节的个数,
字符串的功能
1,获取字节长度 len(xx)
2,获取字符长度 utf8.RuneCountInString( xx)
3,以什么什么开头
var flag bool = strings.HasPrefix(检查串,目标串)
4,以什么什么结尾
var flag bool = strings.HasSuffix(检查串,目标串)
5,是否包含什么什么
var flag bool = strings.Contains(检查串,目标串)
6,变成全大写
str := strings.ToUpper(目标串)
7,变小写
str := strings.ToLower(目标串)
8,去除左边/右边的xxx
res:= strings.TrimRight(待去除串,去除部分)//去掉右边的 xxx
res:= strings.TrimLeft(待去除串,去除部分)//去掉左边的 xxx
res:= strings.Trim(待去除串,去除部分)//去掉两边的 xxx
如果两端有才去除,没有则不去除
9,替换
str := strings.Replace(字符串,待替换部分,替换成,从左到右第几个)
如果是-1 ,那就是全部替换
10,分割
str:=strings.Split(字符串,需要分割的依据)
比如:
s:="ababababababababa",
strs:=strings.Split(s,b)
strs就变成了a,a,a,a,a,a,a,a,a
11,拼接
s1+s2
//第一种方法 ,但是比较慢
list := []string (s1,s2)
s:= strings.Join(list,[可以自己选择中间的连接词])
//第二章方法,使用切片的内置函数来拼接
var a strings.Builder
a.writeString(s1)
a.writeString(s2)
s:=a.String()
12,string to int
var num int = strconv.Itoa(s)
13,int to string
var str string = strconv.Atoi(num)
14,进制转化为整型
func ParseInt(s string, base int, bitSize int) (i int64, err error)
这里base是进制数,如果是0,那就根据前缀去转换,bitSize 就是转化过程中的int大小,最后都会返回int64
s := "0x1F"
res,_ = strconv.ParseInt(s,0,32)
15,整型转化为进制
func FormatInt(i int64, base int) string
这里的 base 是要转化为 base进制
数组
var name [确定的长度] 元素类型
var nums [10] int
//第一种初始化方式 ,初始结果为0
var nums = [10] int { 1,2,3,4}
//第二种方法,前4个指定为,1,2,3,4 后面没有指定,为0
var nums = [10]int {0: 1, 3:10}
//第三种方法,指定了0和3位置的值
var nums = [...] int {0: 1, 3: 100}
//第四种方法,省略长度,由系统推断,长度为 4
如果
var numsptr * [3] int 只是初始化了3个指针,但是指向的地点没有分配空间
numsptr := new ([3]int ) 这个就分配了空间
数组的内存是连续的,而且数组的内存地址就是num[0]的地址
数组的长度
var n int = len(nums)
获取区间
subnums := nums [ start : end+1] //获取start 到 end 之间的所有元素
多维数组
var nums [2][3][4] int
//2个 3行4列的二维数组
这个数组可以直接用println打印
rune
是 int32
的别名,用于表示 Unicode 码点,方便按字符处理字符串。
切片
type slice struct {
array unsafe.Pointer
len int
cap int
}
初始化:
var slice [] int
//声明一个空的切片
var slice =[] int { 1,2,3}
//基于数组初始化了一个长度为3的切片
var slice = make ([] int ,2,5)
//基于make创建一个切片,第一个是表示类型,第二个是初始化长度,第三个是容量
//当然第三个可以缺省的,那样容量默认和长度一致
自动扩容:
每次都是扩容为当前容量的两倍,如果长度大于1024,每次只扩容1/4的大小
v1 := make ([]int,1,3)
v2 := append (v1,66)
//这里的v1和v2两个切片,但是对应存储的数组对应的是同一个,即共享同一个数组
//如果容量足够,就只是在后面添加一个新元素,如果容量不足,会直接扩容
//但是如果去获得他们的长度的话,一个是1,一个是2
append 也可以追加多个数字,也可以追加切片int [] {}
切片指针
var sp = new ([] int )
//创建一个指向长度为0,容量为0的以
var sp1 * [] int
获取区间
res : = v1[start,end+1] //获取start 到 end
res := v1[start] //获取 start 到切片结尾
res := v1[:end+1] //获取 开头 到 end
//这里也是共享的数组空间
v1 := [] int {1,2,3,4,5,6}
res : = append(v1[:2],v1[3:])
//res 会 获得 1,2,4,5,6,
//v1也会变成这个
相关文章:
go语言学习(数组,切片,字符串)
字符串 如果里面存储的是汉字,那么其实就是存储的是UTF--8编码,所以一个字会对应多个字节.如果想要获取汉字的个数,可以使用rune,来处理unicode字符 length: utf8.RuneCountInString( s) 如果只使用len()获取的是字节的个数, 字符串的功能 1,获取字节长度 len(xx) 2,获取字…...
PM 实战 - 智能药盒PRD + 市场规模分析
写在前面 智能硬件 PRD 实例资源很少,Po下个人作品,假定前提为to Boss需求,目标在于覆盖产品设计核心部分(用户画像Persona、产品逻辑图、产品架构图、软件原型图、硬件低保真设计、用例Use Case、硬件标准)。不是申请…...
SQL刷题快速入门(二)
其他章节:SQL刷题快速入门(一) 承接上一章节,本章主要讲SQL的运算符、聚合函数、SQL保留小数的几种方式三个部分 运算符 SQL 支持多种运算符,用于执行各种操作,如算术运算、比较、赋值、逻辑运算等。以下…...
hive迁移后修复分区慢,怎么办?
我有1个30TB的分区表,客户给的带宽只有600MB,按照150%的耗时来算,大概要迁移17小时。 使用hive自带的修复分区命令(一般修复分区比迁移时间长一点),可能要花24小时。于是打算用前面黄大佬的牛B方案。 Hive增…...
代码随想录算法训练营day27
代码随想录算法训练营 —day27 文章目录 代码随想录算法训练营前言一、贪心算法理论基础二、455.分发饼干三、376. 摆动序列53. 最大子数组和总结 前言 今天是算法营的第27天,希望自己能够坚持下来! 今日任务: ● 贪心算法理论基础 ● 455.…...
python 代码使用 DeepXDE 库实现了一个求解二维非线性偏微分方程(PDE)的功能
import deepxde as dde import numpy as np import matplotlib.pyplot as plt import tensorflow as tf# 设置时空计算域 Lx 1 # x 范围从 0 到 1 Ly 1 # y 范围从 0 到 1 Lt 0.05 # t 范围从 0 到 0.05 geom dde.geometry.Rectangle([0, 0], [Lx, Ly]) # 空间域 timed…...
【Go】:深入解析 Go 1.24:新特性、改进与最佳实践
前言 Go 1.24 尚未发布。这些是正在进行中的发布说明。Go 1.24 预计将于 2025 年 2 月发布。本文将深入探讨 Go 1.24 中引入的各项更新,并通过具体示例展示这些变化如何影响日常开发工作,确保为读者提供详尽而有价值的参考。 新特性及改进综述 HTTP/2 …...
VUE3 一些常用的 npm 和 cnpm 命令,涵盖了修改源、清理缓存、修改 SSL 协议设置等内容。
以下是一些常用的 npm 和 cnpm 命令,涵盖了修改源、清理缓存、修改 SSL 协议设置等内容。 npm 常用命令 1. 修改 npm 源 更改为淘宝的 npm 镜像源(可以提高安装速度): bash复制代码 npm config set registry https://registry…...
【SpringBoot】@Value 没有注入预期的值
问题复现 在装配对象成员属性时,我们常常会使用 Autowired 来装配。但是,有时候我们也使用 Value 进行装配。不过这两种注解使用风格不同,使用 Autowired 一般都不会设置属性值,而 Value 必须指定一个字符串值,因为其…...
【STM32-学习笔记-6-】DMA
文章目录 DMAⅠ、DMA框图Ⅱ、DMA基本结构Ⅲ、不同外设的DMA请求Ⅳ、DMA函数Ⅴ、DMA_InitTypeDef结构体参数①、DMA_PeripheralBaseAddr②、DMA_PeripheralDataSize③、DMA_PeripheralInc④、DMA_MemoryBaseAddr⑤、DMA_MemoryDataSize⑥、DMA_MemoryInc⑦、DMA_DIR⑧、DMA_Buff…...
js实现一个可以自动重链的websocket客户端
class WebSocketClient {constructor(url, callback, options {}) {this.url url; // WebSocket 服务器地址this.options options; // 配置选项(例如重试间隔、最大重试次数等)this.retryInterval options.retryInterval || 1000; // 重试间隔&#…...
企业总部和分支通过GRE VPN互通
PC1可以ping通PC2 1、首先按照地址表配置ip地址 2、分别在AR1和AR3上配置nat 3、配置GRE a 创建tunnel接口,并选择tunnel协议为GRE,为隧道创建一个地址,用作互联 b 为隧道配置源地址或者源接口,这里选择源接口;再为…...
油猴支持阿里云自动登陆插件
遇到的以下问题,都已在脚本中解决: 获取到的元素赋值在页面显示,但是底层的value并没有改写,导致请求就是获取不到数据元素的加载时机不定,尤其是弱网情况下,只靠延迟还是有可能获取不到,且登陆…...
【2024年华为OD机试】(C卷,100分)- 字符串筛选排序 (Java JS PythonC/C++)
一、问题描述 题目描述 输入一个由N个大小写字母组成的字符串 按照ASCII码值从小到大进行排序 查找字符串中第K个最小ASCII码值的字母 (k > 1) 输出该字母所在字符串中的位置索引 (字符串的第一个位置索引为0) k如果大于字符串长度则输出最大ASCII码值的字母所在字符串…...
iOS - runtime总结
详细总结一下 Runtime 的核心内容: 1. 消息发送机制 // 消息发送的基本流程 id objc_msgSend(id self, SEL _cmd, ...) {// 1. 获取 isaClass cls object_getClass(self);// 2. 查找缓存IMP imp cache_getImp(cls, _cmd);if (imp) return imp(self, _cmd, ...);…...
第33 章 - ES 实战篇 - MySQL 与 Elasticsearch 的一致性问题
思维导图 0. 前言 MySQL 与 Elasticsearch 一致性问题是老生常谈了。网上有太多关于这方面的文章了,但是千篇一律,看了跟没看没有太大区别。 在生产中,我们往往会通过 DTS 工具将 binlog 导入到 Kafka,再通过 Kafka 消费 binlog&…...
Artec Leo 3D扫描仪与Ray助力野生水生动物法医鉴定【沪敖3D】
挑战:捕获大型水生哺乳动物(如鲸鱼)的数据,搭建全彩3D模型,用于水生野生动物的法医鉴定、研究和保护工作。 解决方案:Artec Eva、Artec Space Spider、Artec Leo、Artec Ray、Artec Studio、CT scans 效果&…...
PythonQT5打包exe线程使用
打包: pyinstaller --noconsole --onefile test.py–noconsole 表示不需要打开命令行 修改:test.spec 一般项目里面需要用的资源文件,比如lib、png、exe等。 需要单独修改spec文件 pathex[.],binaries[(D:/test.png, .),(D:/simsun.ttc, .…...
【Powershell】Windows大法powershell好(二)
PowerShell基础(二) 声明:该笔记为up主 泷羽的课程笔记,本节链接指路。 警告:本教程仅作学习用途,若有用于非法行为的,概不负责。 1. powershell 执行外部命令 powershell也可以执行一些外部的…...
前端学习-环境this对象以及回调函数(二十七)
目录 前言 目标 环境对象 作用 环境对象this是什么? 判断this指向的粗略规则是什么? 回调函数 目标 常见的使用场景 综合案例:Tab任务栏切换 总结 前言 男儿何不带吴钩,收取关山五十州 目标 能够分析判断函数运行在不…...
Element-plus、Element-ui之Tree 树形控件回显Bug问题。
需求:提交时,需要把选中状态和半选中状态 的数据id提交。如图所示: 数据回显时,会出现代码如下: <template><el-tree ref"treeRef" :data"tree" show-checkbox node-key"id" …...
互联网全景消息(10)之Kafka深度剖析(中)
一、深入应用 1.1 SpringBoot集成Kafka 引入对应的依赖。 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupI…...
Oracle Dataguard(主库为双节点集群)配置详解(5):将主库复制到备库并启动同步
Oracle Dataguard(主库为双节点集群)配置详解(5):将主库复制到备库并启动同步 目录 Oracle Dataguard(主库为双节点集群)配置详解(5):将主库复制到备库并启动…...
pytorch小记(一):pytorch矩阵乘法:torch.matmul(x, y)
pytorch小记(一):pytorch矩阵乘法:torch.matmul(x, y)/ x y 代码代码 1:torch.matmul(x, y)输入张量:计算逻辑:输出结果: 代码 2:y y.view(4,1)…...
PyTorch环境配置常见报错的解决办法
目标 小白在最基础的环境配置里一般都会出现许多问题。 这里把一些常见的问题分享出来。希望可以节省大家一些时间。 最终目标是可以在cmd虚拟环境里进入jupyter notebook,new的时候有对应的环境,并且可以跑通所有的import code。 第一步:…...
罗永浩再创业,这次盯上了 AI?
罗永浩,1972年7月9日生于中国延边朝鲜族自治州的一个军人家庭,是一名朝鲜族人;早年在新东方授课,2004年当选 “网络十大红人” ;2006年8月1日,罗永浩创办牛博网;2008年5月,罗永浩注册…...
VUE3 provide 和 inject,跨越多层级组件传递数据
provide 和 inject 是 Vue 3 提供的 API,主要用于实现祖先组件与后代组件之间的依赖注入。它们可以让你在组件树中,跨越多层组件传递数据,而不需要通过 props 或事件的方式逐层传递。这个机制主要用于状态共享、插件系统或某些跨层级的功能。…...
git打补丁
1、应用场景 跨仓库升级 开发项目B使用的是开源项目A。开源项目A发现漏洞,作者进行了修复,我们可以通过使用git补丁的方式,将作者修改的内容复制到我 们的项目B中。 2、TortoiseGit方式 源仓库 格式化补丁 根据提交数量,生成…...
机械燃油车知识图谱、知识大纲、知识结构(持续更新...)
一、发动机 曲柄连杆机构 配气机构 点火系统 起动系统 燃油供给系统 润滑系统 冷却系统 二、底盘 (一)传动系统 1、离合器 2、变速器 3、万向传动装置 4、驱动桥 (二)行驶系统 1、车架 2、车桥 3、悬架 4、车轮 &a…...
Vue3学习总结
一、Vue 3 基础搭建与核心语法 1.创建 Vue 3 应用 在项目的入口文件 main.js 中,通过以下代码创建 Vue 3 应用实例: import { createApp } from vue; import App from ./App.vue;const app createApp(App); app.mount(#app); 这几行代码的作用是引入…...
wordpress盈利博客/平台推广
Spring Boot提供了一种自定义启动过程的方法,即通过实现ApplicationRunner或CommandLineRunner接口来实现。 ApplicationRunner实现示例: Component public class MyApplicationRunner implements ApplicationRunner {Overridepublic void run(Applicati…...
模板建站优缺点/app开发需要多少费用
不能让猪猪老是为我担惊受怕,哪怕是惹她生气也不能惹她担心。 因为晚上加班回来晚,到家其实已经十二点多了,十一点多的时候给猪猪打了电话,她当然一直很生气嫌回来太晚,后来电话就没电啦。等着走,却又没有…...
手机640的设计稿做网站/站长之家关键词查询
Java 多线程编程 Java给多线程编程提供了内置的支持。一个多线程程序包含两个或多个能并发运行的部分。程序的每一部分都称作一个线程,并且每个线程定义了一个独立的执行路径。 多线程是多任务的一种特别的形式。多线程比多任务需要更小的开销。 这里定义和线程相关…...
网站建设的关键/搜索引擎营销案例分析
Oracle导出空(无数据)表 exp name/pass fileD:/backup.dmp logD:/backup.log;其中table_1中有数据,table_2中没有数据;由于 ORACLE 11g中有个新特性,当表无数据时,不分配segment,以节省空间。所…...
附近做网站的公司电话/在线客服系统平台有哪些
若依(RuoYi)中创建表报错问题 该请求是只能出现创建表的sql语句,所以不要出现drop table if exists table;等语句,这样是会报错的。(之前被这个问题坑过) 解决办法: 只写入创建表的语句&…...
wordpress取消定时发布/军事新闻最新消息今天
今天来介绍一下DBA的软技能—搜索常用搜索引擎下面来介绍一下作为DBA,比较常用的几个搜索引擎: MyOracleSupport:Oracle的官方支持网站,里面包含了丰富的Oracle相关产品的知识(不光数据库)。 Bingÿ…...