当前位置: 首页 > 知识库问答 >
问题:

Golang将字符串转换为int64

夏炎彬
2023-03-14

我想将字符串转换为int64。我从<code>strconv

// Atoi is shorthand for ParseInt(s, 10, 0).
func Atoi(s string) (i int, err error) {
        i64, err := ParseInt(s, 10, 0)
    return int(i64), err
}

ParseInt实际上返回一个int64:

func ParseInt(s string, base int, bitSize int) (i int64, err error){
     //...
}

所以如果我想从一个字符串中获取一个int64,我应该避免使用Atoi,而是使用ParseInt吗?还是有Atio64藏在某个地方?

共有3个答案

叶嘉颖
2023-03-14

另一种选择:

package main
import "fmt"

func main() {
   var n int64
   fmt.Sscan("100", &n)
   fmt.Println(n == 100)
}

https://golang.org/pkg/fmt#Sscan

戴正阳
2023-03-14

不,没有Atoi64。您还应该将64作为最后一个参数传递给ParseInt,否则它可能不会在32位系统上产生预期值。

添加缩写示例:

var s string = "9223372036854775807"
i, _ := strconv.ParseInt(s, 10, 64)
fmt.Printf("val: %v ; type: %[1]T\n", i)

https://play.golang.org/p/FUC8QO0-lYn

康泽宇
2023-03-14

将字符串解析为int64示例:

// Use the max value for signed 64 integer. http://golang.org/pkg/builtin/#int64
var s string = "9223372036854775807"
i, err := strconv.ParseInt(s, 10, 64)
if err != nil {
    panic(err)
}
fmt.Printf("Hello, %v with type %s!\n", i, reflect.TypeOf(i))

输出:

您好,9223372036854775807,int64型!

https://play.golang.org/p/XOKkE6WWer

 类似资料:
  • 问题内容: 我需要在Golang中将转换为。是否有可能转换到在Golang无须转换为或第一? 需要一个。需要一个。 问题答案: 一线的答案是。 无论如何,甚至在标准库函数(例如)内部都有很多转换,因此您有一些选择(尝试使用Go Playground ): 1-您可以编写转换函数( 最快 ): 2-您可以使用 ( 慢 ) 参见内部: 3-您可以使用 ( 快速 ) 参见内部: 4-您可以使用( 更快

  • 问题内容: 我正在尝试找到转换的最佳方法 键入字符串。我尝试使用marshall转换为json以保留格式,然后转换回字符串,但这未成功。更具体地说,我正在尝试将包含键和值的映射转换为字符串以容纳https://www.nomadproject.io/docs/job- specification/template.html#environment-variables https://github.

  • 问题内容: 我正在使用github.com/fatih/structs包将struct的所有字段的值转换为函数。看这里。这工作正常,但最终我想通过使用csv包将值写入csv文件。该功能需要作为输入。 简而言之:我如何轻松地将的输出转换为字符串数组? 问题答案: 即使所有值都是具体类型,也不能简单地转换为,因为这两种类型具有不同的内存布局/表示形式。 您必须定义如何用值表示不同类型的值。 最简单和明

  • 问题内容: 如何将经典字符串转换为f字符串? 输出: 所需的输出: 问题答案: f字符串是 语法 ,而不是对象类型。您不能将任意字符串转换为该语法,该语法会创建一个字符串对象,而不是相反。 我假设您想用作模板,因此只需在对象上使用方法: 如果要提供可配置的模板服务,请创建一个包含所有可以插值的字段的名称空间字典,并与调用语法一起使用以应用名称空间: 然后,用户可以在字段中的名称空间中使用任何键(或

  • 问题内容: Oracle Java Community网站上的一篇文章提供了以下方法作为示例(对于JPA Converter,但这并不相关): 将String y强制转换为String val有什么用?有正当的理由吗? 原始文章:JPA的新增功能 问题答案: 这样的转换是完全没有必要的。我可以想象那是以前 但是后来参数类型更改为,而作者只是忘了删除强制类型转换。

  • 问题内容: 是否可以将模板字符串创建为常规字符串 然后将其转换为模板字符串 没有,以及其他动态代码生成方式? 问题答案: 由于您的模板字符串必须动态地(在运行时)引用该变量,因此答案是: 否,没有动态代码生成是不可能的。 但这很简单: