duadpnld426905 2017-09-05 03:17
浏览 25
已采纳

“ A”和“ A”之间的区别[0]

I write this code for convert TEXT to BINARY

fmt.Printf("%s
", fmt.Sprintf("%08b", "A"))

and not work, print message: %!b(string=0000000A)

but when i changed "A" to "A"[0] work fine:

fmt.Printf("%s
", fmt.Sprintf("%08b", "A"[0]))

output is 01000001

what is difference between above statements?

  • 写回答

1条回答 默认 最新

  • douxiangbiao1899 2017-09-05 03:22
    关注

    Golang differentiates strings from bytes.

    "A" is a string, technically a read-only slice of bytes. "A"[0] is the first byte in this sequence, whose value is 0x41.

    You asked to print first a string ("A"), then secondly a byte ("A"[0]), in a field of eight characters using binary digits. Your first output was funny because you tried to print a string as if it were some kind of byte value. But a sequence of one byte is not the same as a single byte. Your second output was more natural, since you grabbed the first byte of the string (at index 0), obtaining 0x41.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思