動作しない私はAPIからgzip圧縮された応答を受信したクライアント上でこのコードを持っていました:、int64型から文字列への変換、その後スライスは
client := &http.Client{}
response, _ := client.Do(r)
// Check that the server actual sent compressed data
var reader io.ReadCloser
switch response.Header.Get("Content-Encoding") {
case "gzip":
reader, err := gzip.NewReader(response.Body)
if err != nil {
log.Fatal(err)
}
defer reader.Close()
default:
reader = response.Body
}
token, err := io.Copy(os.Stdout, reader)
if err != nil {
log.Fatal(err)
}
cadenita := strconv.FormatInt(token, 10)
fmt.Println(cadenita)
cadena := "code=b2cc1793-cb7a-ea8d-3c82-766557"
fmt.Println(cadena[5:])
しかし、私は[5:]を直接cadenitaで使用すると、それも文字列ですが、このエラーがあります。
私はスライスし、文字列に変換したトークン(int64型)への正規表現することができるようにしたいです。どうすればいいですか?
ランタイムエラーは、[5:]の使用によるものです。これは、インデックス5の文字を文字列の最後に置きたいという意味です。しかし、トークンに少なくとも6桁(100 000など)が含まれるようになりましたか? – jnmoal
文字列が5文字未満です。インデックスに入れる前に確認してください – JimB
@ Jean-NicolasMoalはい、少なくとも6桁です。私の投稿を更新しました – Juanse