返回顶部
首页 > 资讯 > 后端开发 > GO >如何创建任意长度的字符串
  • 437
分享到

如何创建任意长度的字符串

2024-04-04 23:04:25 437人浏览 安东尼
摘要

哈喽!大家好,很高兴又见面了,我是编程网的一名作者,今天由我给大家带来一篇《如何创建任意长度的字符串》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起

哈喽!大家好,很高兴又见面了,我是编程网的一名作者,今天由我给大家带来一篇《如何创建任意长度的字符串》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

我想创建一个给定长度的虚拟字符串来进行性能测试。例如,我想首先使用 1 kb 的字符串进行测试,然后可能是 10 kb 的字符串等。我不在乎它填充的是哪个字符(或符文?)。我知道 Go 中的字符串是由字节数组支持的。因此,我希望最终的字符串由大小等于 1 kb 的字节数组支持(如果我给出 1024 作为参数)。

例如,我尝试了下面的暴力破解代码:

...
    onekbpayload := createpayload(1024, 'a')
...
//i don't mind even if the char argument is removed and 'a' is used for example 
func createpayload(len int, char rune) string {
    payload := make([]byte, len)
    for i := 0; i < len; i++ {
        payload = append(payload, byte(char))
    }
    return string(payload[:])
}

它产生的结果是(10 长度)

"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000AAAAAAAAAA"

我意识到这与编码有关。但是如何解决这个问题,以便我创建由给定长度的字节数组支持的任何字符串,以便当我通过网络写入它时,我生成预期的有效负载。


解决方案


您的 createpayload() 创建一个具有给定长度的字节切片,默认情况下用零填充 (zero value)。然后,您将 runeslen 数量附加到此切片,因此结果将是您打算创建的长度的两倍(假设 rune 小于 127),这就是为什么您会看到零,然后是 'a' 符文打印。

如果将其更改为:

payload := make([]byte, 0, len)

那么结果就是你想要的。

但更简单的是简单地使用 strings.Repeat() ,它重复给定的 stringn 次。重复一个符文(或更具体地说是一个字节) stringn 次,你就会得到你想要的:

s := strings.repeat("a", 10)
fmt.println(len(s), s)

这将输出(在 Go Playground 上尝试):

10 aaaaaaaaaa

如果您不关心 string 的内容,只关心它的长度,那么只需像这样转换字节切片:

s := string(make([]byte, 1024))
fmt.println(len(s))

或者像这样:

s2 := string([]byte{1023: 0})
fmt.Println(len(s2))

两者都打印 1024。在 Go Playground 上尝试一下。

如果您确实关心内容并且已经分配了一个字节切片,则可以通过以下方法有效地填充它:Is there analog of memset in go?

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《如何创建任意长度的字符串》文章吧,也可关注编程网公众号了解相关技术文章。

您可能感兴趣的文档:

--结束END--

本文标题: 如何创建任意长度的字符串

本文链接: https://lsjlt.com/news/596266.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何创建任意长度的字符串
    哈喽!大家好,很高兴又见面了,我是编程网的一名作者,今天由我给大家带来一篇《如何创建任意长度的字符串》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起...
    99+
    2024-04-04
  • php如何计算字符串的长度
    在php中使用strlen()函数计算字符串的长度,具体方法如下:strlen()函数作用:php中strlen()函数的作用是用于返回字符串的长度。strlen()函数语法:strlen(string)参数:string:需要计算长度的字...
    99+
    2024-04-02
  • Java如何求得字符串的长度
    方法介绍 在 Java 中,要获取字符串的长度,可以使用 String 类的 length() 方法 其语法格式:字符串名.length(); 返回的值是int类型的长度值。 举例: ...
    99+
    2023-10-21
    java jvm 开发语言
  • Shell如何获取字符串长度
    这篇文章主要介绍Shell如何获取字符串长度,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!方法如下:【方法一】:利用${#str}来获取字符串的长度【方法二】:利用awk的length方法备注:  ...
    99+
    2023-06-09
  • java如何获取字符串长度
    这篇文章主要讲解了“java如何获取字符串长度”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java如何获取字符串长度”吧!在java中,可以利用String类的length()方法来获取字...
    99+
    2023-06-20
  • python如何获取字符串长度
    要获取字符串的长度,可以使用len()函数,该函数会返回字符串中字符的数量。下面是一个示例代码:```pythonstring = ...
    99+
    2023-09-27
    python
  • PHP如何获取字符串长度
    这篇文章将为大家详细讲解有关PHP如何获取字符串长度,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。获取 PHP 字符串长度 PHP 提供多种方法来获取字符串长度,具体取决于您的需求。 1. strlen(...
    99+
    2024-04-02
  • c++中如何求字符串长度
    c++ 中字符串长度可通过以下两种方法获取:1. 使用 strlen() 函数,将 c++ 字符串转换为 c 风格字符串后再求长度。2. 使用 std::string 类的 size()...
    99+
    2024-05-12
    c++ 标准库
  • oracle中如何改变字符串长度
    在Oracle中,可以使用SUBSTR函数来改变字符串的长度。该函数的语法如下: SUBSTR(string, start_...
    99+
    2024-04-09
    oracle
  • java中字符串如何计算字节长度
    目录java字符串计算字节长度1.方法一2.方法二3.代码中运用java截取字符串的指定字节数长度java字符串计算字节长度 通常,计算字符串长度大小方法很多,熟悉的有将字符串写入文...
    99+
    2024-04-02
  • PHP如何计算英文字符串的长度
    本篇内容主要讲解“PHP如何计算英文字符串的长度”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP如何计算英文字符串的长度”吧!PHP中用来计算字符串长度的函数主要有两个:strlen() 和...
    99+
    2023-06-20
  • 批处理如何计算字符串的长度
    这篇文章主要为大家展示了“批处理如何计算字符串的长度”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“批处理如何计算字符串的长度”这篇文章吧。代码如下:@echo off & setloca...
    99+
    2023-06-08
  • JavaScript字符串的长度问题
    目录字符串的长度 length1.测量字符串长度:length属性2.字符索引:[]方法3.获取指定位置字符:charAt()方法和CharCodeAt()方法4.字符串连接:con...
    99+
    2023-02-10
    JavaScript字符串 字符串的长度 JS字符串长度
  • mysql如何设置字符串长度限制
    mysql设置字符串长度限制的示例:例如:创建了一张测试表t1里有两个字段id和name,字段类型分别是int 和 varchar(8),varchar(8)的意思:字段name是一个字符串类型,长度是8。可以通过修改命...
    99+
    2024-04-02
  • php如何计算中文字符串长度
    这篇文章主要为大家展示了“php如何计算中文字符串长度”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php如何计算中文字符串长度”这篇文章吧。对于这个问题,我们可能第一反应就是使用strlen(...
    99+
    2023-06-20
  • mysql如何截取字符串编码长度
    在MySQL中,可以使用LENGTH函数来获取字符串的编码长度。该函数返回一个字符串的字节数。下面是一个使用LENGTH函数截取字符...
    99+
    2023-08-31
    mysql
  • JavaScript如何获取字符串实际长度
    今天小编给大家分享一下JavaScript如何获取字符串实际长度的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。方法一:使用c...
    99+
    2023-07-02
  • go语言如何获取字符串长度
    这篇文章主要介绍了go语言如何获取字符串长度的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇go语言如何获取字符串长度文章都会有所收获,下面我们一起来看看吧。获取方法:1、使用bytes.Count()获取长度,...
    99+
    2023-07-04
  • 如何修改PHP字符串长度限制
    PHP是一种流行的服务器端脚本语言,它可以用于开发Web应用程序。在PHP中,字符串长度是有限制的,这个限制可以通过修改PHP配置文件或使用特定的函数来改变。在本文中,我们将讨论如何修改PHP字符串长度限制。PHP字符串长度限制PHP字符串...
    99+
    2023-05-14
    php字符串 php
  • php如何定义数组字符串长度
    PHP作为一种动态语言,提供了很多便利的方法用于定义数组和处理字符串。在实际开发过程中,经常需要对数组和字符串的长度进行处理。本篇文章主要介绍PHP如何定义数组和字符串的长度。一、定义数组长度在PHP中定义数组时,可以直接使用array()...
    99+
    2023-05-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作