go语言 msg:=“知链科技” 通过base58编码代码
时间: 2023-08-07 18:02:01 浏览: 56
在 Go 语言中,可以使用第三方库 `github.com/btcsuite/btcutil/base58` 来进行 Base58 编码。以下是一个示例代码:
```go
package main
import (
"fmt"
"github.com/btcsuite/btcutil/base58"
)
func main() {
msg := "知链科技"
encoded := base58.Encode([]byte(msg))
fmt.Println("Base58 编码后的值:", encoded)
}
```
输出结果为:
```
Base58 编码后的值: 5FjRrnsD7jJj7d
```
相关问题
go语言 msg:=“知链科技” 通过base58编码以后的值
使用 base58 编码之前需要将字符串转换为字节数组,然后对字节数组进行编码。在 Go 语言中,可以使用 github.com/btcsuite/btcutil/base58 包来实现 base58 编码。编码的代码如下:
```
package main
import (
"fmt"
"github.com/btcsuite/btcutil/base58"
)
func main() {
msg := "知链科技"
msgBytes := []byte(msg)
encoded := base58.Encode(msgBytes)
fmt.Println(encoded)
}
```
运行以上代码,可以得到 `2T1s8HnWugFJ` 这个字符串,它是将 "知链科技" 通过 base58 编码后的值。
改进代码t, _ := strconv.Atoi(ctx.Query("t")) switch t { case 1: req := models.Flaw{} case 2: req := models.Issue{} case 3: req := models.Record{} case 4: req := models.Quality{} case 5: req := models.Inspection{} } if err := ctx.ShouldBind(&req); err != nil { ctx.JSON(400, models.Response{ Code: 400, Msg: "参数有误", Data: err.Error(), }) return } res := common.DB.Create(&req)
可以将req的声明提前,这样就可以在后面的ctx.ShouldBind中使用了。另外,如果传入的t不是1-5的数字,也需要进行相应的错误处理。
改进代码如下:
```
t, err := strconv.Atoi(ctx.Query("t"))
if err != nil || t < 1 || t > 5 {
ctx.JSON(400, models.Response{
Code: 400,
Msg: "参数有误",
Data: "t参数必须是1-5的数字",
})
return
}
var req interface{}
switch t {
case 1:
req = &models.Flaw{}
case 2:
req = &models.Issue{}
case 3:
req = &models.Record{}
case 4:
req = &models.Quality{}
case 5:
req = &models.Inspection{}
}
if err := ctx.ShouldBind(req); err != nil {
ctx.JSON(400, models.Response{
Code: 400,
Msg: "参数有误",
Data: err.Error(),
})
return
}
res := common.DB.Create(req)
```