2015-11-07 47 views

答えて

11

を使用することができます整数、fmt.Sprintf()、および%xまたは%X形式を使用します。
See playground

i := 255 
h := fmt.Sprintf("%x", i) 
fmt.Printf("Hex conv of '%d' is '%s'\n", i, h) 
h = fmt.Sprintf("%X", i) 
fmt.Printf("HEX conv of '%d' is '%s'\n", i, h) 

出力:

Hex conv of '255' is 'ff' 
HEX conv of '255' is 'FF' 
16

"Hex"は本物ではありません。数値の16進表現を使用できますが、0xFF255の間に違いはありません。そのcan be found in the docsの詳細については、0xffを使用して整数定数255を定義することができます。あなたが言及したようあなたが整数の16進表現を見つけるためにしようとしている場合は、HexはInteger literalあるので、あなたはそれの文字列表現のためのfmt packageを求めることができstrconv

package main 

import (
    "fmt" 
    "strconv" 
) 

func main() { 
    fmt.Println(strconv.FormatInt(255, 16)) 
    // gives "ff" 
} 

Try it in the playground

3

いくつかのバイトをフォーマット、Hexはexempleについて0

つながると、2桁の表現を必要とする場合:1 => '01'、15 => '0f'など

Sprintfにこれを遵守させることは可能です:

h:= fmt.Sprintf("%02x", 14) 
fmt.Println(h) // 0e 
h2:= fmt.Sprintf("%02x", 231) 
fmt.Println(h2) // e7 

パターン "%の02X" とは:

  • '0' に力を
  • '2' 進
  • に変換するために 'X' は、2つの別文字
  • として出力サイズを設定するゼロを使用して
関連する問題