返回顶部
首页 > 资讯 > 后端开发 > GO >Kotlin 和 Golang 中的字符串散列
  • 231
分享到

Kotlin 和 Golang 中的字符串散列

2024-02-06 10:02:52 231人浏览 八月长安
摘要

问题内容 在服务 a 中,我有一个像这样进行哈希处理的字符串: fun string.tohash(): long { var hashcode = this.hashcode

问题内容

在服务 a 中,我有一个像这样进行哈希处理的字符串

fun string.tohash(): long {
    var hashcode = this.hashcode().tolong()
    if (hashcode < 0l) {
        hashcode *= -1
    }
    return hashcode
}

我想在用 golang 编写的服务 b 中复制这段代码,因此对于同一个单词,我得到完全相同的哈希值。据我从 Kotlin 文档中了解到,应用的哈希返回一个 64 位整数。所以在 Go 中我这样做:

func hash(s string) int64 {
    h := fnv.new64()
    h.write([]byte(s))
    v := h.sum64()
    return int64(v)
}

但是在进行单元测试时我没有得到相同的值。我得到:

func test_hash(t *testing.t) {
    tests := []struct {
        input  string
        output int64
    }{
        {input: "papafritas", output: 1079370635},
    }
    for _, test := range tests {
        got := hash(test.input)
        assert.equal(t, test.output, got)
    }
}

结果:

7841672725449611742

我做错了什么吗?


正确答案


Java 以及 Kotlin 使用与 Go 不同的哈希函数。

可能的选项是:

  1. 使用标准哈希函数。
  2. 在 Go 中重新实现字符串的 Java hashCode。

以上就是Kotlin 和 Golang 中的字符串散列的详细内容,更多请关注编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: Kotlin 和 Golang 中的字符串散列

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

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

猜你喜欢
  • Kotlin 和 Golang 中的字符串散列
    问题内容 在服务 a 中,我有一个像这样进行哈希处理的字符串: fun string.tohash(): long { var hashcode = this.hashcode...
    99+
    2024-02-06
  • PHP计算字符串的 MD5 散列值
    这篇文章将为大家详细讲解有关PHP计算字符串的 MD5 散列值,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP 中计算字符串的 MD5 散列值 引言 MD5(消息摘要 5)是一种流行的密码学哈希函数,...
    99+
    2024-04-02
  • PHP如何单向字符串散列
    这篇文章将为大家详细讲解有关PHP如何单向字符串散列,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP 单向字符串散列 单向散列函数是一类算法,可将任意长度的字符串转换为固定长度的唯一输出(称为散列值或...
    99+
    2024-04-02
  • Redis常用命令(一) 字符串键、散列键
    redis是key-value的数据结构,每条数据都是一个键值对键的类型是字符串,因为默认是字符串所以都不用加引号注意:键不能重复值的类型分为五种:    字符串st...
    99+
    2024-04-02
  • 替换golang中字符串中的字符
    在golang编程中,替换字符串中的字符是一个常见的操作。无论是替换单个字符还是多个字符,都可以通过使用内建的字符串函数和方法来实现。在本文中,我们将由php小编新一为您介绍如何在go...
    99+
    2024-02-09
    字符串数组 overflow
  • Redis数据操作--字符串与散列键的区别
    | 如果散列键能做的事情,字符串键也能做,那么 我们为什么不直接使用字符串键呢? | 散列的好处 -- 将数据放在同一个地方     #...
    99+
    2024-04-02
  • 也许是 golang 中的 bag(类型字符串和字符串不匹配)
    php小编新一为您介绍golang中的bag类型。在golang中,bag类型指的是一种数据结构,用于存储元素的集合。与其他数据结构不同的是,bag中的元素可以重复出现,并且顺序无关紧...
    99+
    2024-02-09
    lsp
  • golang中字符串首字母小写
    在Golang中,字符串的首字母通常是以小写形式呈现。这是由于Golang的命名约定,它遵循了一种称为"骆驼命名法"的规则,其中变量和函数名的首字母小写,而类型名和导出的函数名的首字母...
    99+
    2024-02-10
  • Python中字符串和列表怎么去重
    这篇文章主要介绍“Python中字符串和列表怎么去重”,在日常操作中,相信很多人在Python中字符串和列表怎么去重问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中字符串和列表怎么去重”的疑惑有所...
    99+
    2023-07-05
  • 详解Golang中字符串的使用
    目录1、字符串编码2、字符串遍历3、字符串中的字符数4、字符串trim5、字符串连接6、字节切片转字符串1、字符串编码 在go中rune是一个unicode编码点。 我们都知道UTF...
    99+
    2024-04-02
  • 怎么使用Golang去除字符串中的n字符
    本篇内容介绍了“怎么使用Golang去除字符串中的n字符”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!对于 Golang 开发者来说,使用 ...
    99+
    2023-07-05
  • 如何在Golang中遍历字符串的每个字符?
    如何在Golang中遍历字符串的每个字符? 在Golang中,字符串实际上是由字节组成的,每个字符可能由多个字节表示。因此,要遍历字符串的每个字符,我们需要首先将字符串转换为rune切...
    99+
    2024-03-13
    遍历字符串 golang字符 字符遍历 go语言
  • python列表和字符串的逆序遍历
    今天就跟大家聊聊有关python列表和字符串的逆序遍历,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。列表的逆序遍历a = [1,3,6,8,9]print(&qu...
    99+
    2023-06-15
  • 深度剖析Golang中的数组,字符串和切片
    目录1. 数组1.1 定义数组1.2 访问数组1.3 修改数组1.4 数组长度1.5 遍历数组1.6 多维数组2. 切片2.1 定义切片2.2 访问切片元素2.3 修改切片元素2.4...
    99+
    2023-05-17
    Golang数组 字符串 切片 Golang 数组 Golang 字符串 Golang 切片
  • 理解Golang中字符串结尾字符的判断逻辑
    为了理解Golang中字符串结尾字符的判断逻辑,我们首先要了解Golang中字符串的基本特性和相关函数。在Golang中,字符串是一个不可变的字节序列,它可以包含任意的数据,但通常用来...
    99+
    2024-03-12
    字符串 golang 结尾 len函数
  • golang如何实现字符串和数字互转
    这篇文章主要介绍golang如何实现字符串和数字互转,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!容忍字符串和数字互转如果你使用的是jsoniter,可以启动模糊模式来支持 PHP ...
    99+
    2024-04-02
  • Golang函数的字符串处理和字符编码转换技巧
    Golang作为一门编程语言,它所提供的字符串处理和字符编码转换功能非常强大和丰富。本文将介绍Golang函数中常用的字符串处理和字符编码转换技巧,帮助读者更好地理解和使用Golang。一、字符串处理字符串连接在Golang中,可以使用"+...
    99+
    2023-05-18
    字符串处理 Golang函数 字符编码转换技巧
  • golang 中将 func 转换为字符串
    php小编西瓜在本文中将向大家介绍如何在golang中将func转换为字符串。在golang中,将func转换为字符串可能会遇到一些挑战,因为func类型在golang中并不直接支持转...
    99+
    2024-02-10
  • Python中字符串和列表去重方法总结
    目录字符串去重1、直接遍历字符串的方式2、遍历去重的另一种方式3、将字符串转换成列表的方式(list sort)4、根据字符串下标,判断子集5、使用 ', '.joi...
    99+
    2023-05-15
    Python字符串去重 Python列表去重 Python去重
  • 讨论Golang中的字符串替换操作
    Golang是一门高效的编程语言,它的特点是可读性强、编写代码简单,且具有极高的执行速度。作为一名Golang开发者,我们会经常遇到需要对字符串进行操作的情况,而Golang提供了许多方便的函数和方法来满足这种需求。其中一个常见的需求就是替...
    99+
    2023-05-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作