亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 C++ 片段轉換為 Golang

將 C++ 片段轉換為 Golang

Go
瀟瀟雨雨 2021-11-01 15:42:34
我正在嘗試將以下 C++ 片段轉換為 Golang,但我沒有任何運氣使語法正確。這是 C++ 代碼段的樣子:v8::String::Utf8Value reqStringObj(args[1]);const char *reqString = *reqStringObj;char hex[3] = {reqString[strlen(reqString) - 2], reqString[strlen(reqString) - 1], '\0'};unsigned char requestId = (unsigned char)strtoul (hex, 0, 16);printf("requestId is: %d\n", requestId);到目前為止,這是我通過 Go 版本獲得的:reqStr := "somerandomstringthatihave"hex := []uint8{reqStr[len(reqStr)-2], reqStr[len(reqStr)-1], '\u0027'}requestId := ?????我不確定如何轉換strtoulC++ 函數中提到的強制轉換函數,使其通過 Go 版本以相同的方式工作。有任何想法嗎?
查看完整描述

1 回答

?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

您可以使用strconv.ParseUint以下方法輕松完成此操作:


reqStr := "jfd0jifdgfa"

if len(reqStr) <= 1 {

  panic("reqStr not long enough")

}

requestId, err := strconv.ParseUint(reqStr[len(reqStr) - 2:], 16, 64)

if err != nil {

  panic(err)

}

記住最后兩個字符reqStr必須是有效的十六進制字符,否則上面的代碼會出錯。


查看完整回答
反對 回復 2021-11-01
  • 1 回答
  • 0 關注
  • 165 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號