strconv.atoi()
时间: 2023-12-20 11:03:35 浏览: 144
strconv.Atoi() 是 Go 语言中的一个函数,用于将字符串转换为整数类型。它的函数签名如下:
```
func Atoi(s string) (int, error)
```
其中,s 表示要转换的字符串,返回值为转换后的整数和可能出现的错误。如果转换成功,错误为 nil;如果转换失败,错误为相应的错误信息。例如:
```
i, err := strconv.Atoi("123")
if err != nil {
// 转换失败
} else {
// 转换成功,i 的值为 123
}
```
相关问题
go语言strconv.Atoi用法
`strconv.Atoi` 是 Go 语言中用于将字符串转换成整数类型的函数。它的用法如下:
```go
i, err := strconv.Atoi("123")
if err != nil {
// 转换失败,处理错误
}
fmt.Println(i) // 输出:123
```
函数返回两个值,第一个是转换后的整数,第二个是可能的错误。如果转换失败,第二个返回值将是一个非空的错误值,否则为 nil。
此外,如果要将字符串转换为其他类型的值,例如浮点数或布尔值,可以使用 strconv 包中的其他函数,如 `strconv.ParseFloat` 和 `strconv.ParseBool`。
func (t *ABstore) Invoke(ctx contractapi.TransactionContextInterface, A, B string, X int) error { var err error var Aval int var Bval int // Get the state from the ledger // TODO: will be nice to have a GetAllState call to ledger Avalbytes, err := ctx.GetStub().GetState(A) if err != nil { return fmt.Errorf("Failed to get state") } if Avalbytes == nil { return fmt.Errorf("Entity not found") } Aval, _ = strconv.Atoi(string(Avalbytes)) Bvalbytes, err := ctx.GetStub().GetState(B) if err != nil { return fmt.Errorf("Failed to get state") } if Bvalbytes == nil { return fmt.Errorf("Entity not found") } Bval, _ = strconv.Atoi(string(Bvalbytes)) // Perform the execution Aval = Aval - X Bval = Bval + X fmt.Printf("Aval = %d, Bval = %d\n", Aval, Bval) // Write the state back to the ledger err = ctx.GetStub().PutState(A, []byte(strconv.Itoa(Aval))) if err != nil { return err } err = ctx.GetStub().PutState(B, []byte(strconv.Itoa(Bval))) if err != nil { return err } return nil }
这是一段Go语言代码,实现了一个区块链智能合约的Invoke函数。该函数的功能是执行A和B的数值的转移,A的数值减去X,B的数值加上X。函数首先从区块链的存储中读取A和B的数值,然后执行数值转移,最后将计算结果写回区块链存储。
阅读全文