Go借鉴了erlang太多的东西了!

学习了一会儿GO,发现太像erlang了,

忽略不需要的数据

erlang

{_,Key,_} = public_key:pem_decode(?PRIVATE_KEY),

这只取Key这一个数据,返回的另外不需要用的数据用_替换!

go

Key2,_ = base64.StdEncoding.DecodeString(PinData)

这也只需要Key,_用来略过返回的error !

另外不需要的变量,或者没有用到的import包,erlang与go都会报错,erlang可以选择忽略,go更严格,编译通过不了!

模式匹配

比如等号(=)号左右的匹配,如上两行代码,都是一样的理念!

 

二进制的显示

一般语言输出一个二进制的数据,特别麻烦,需要了解细节,erlang与go不会

erlang

Erlang/OTP 21 [erts-10.2.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe] [dtrace]

Eshell V10.2.1  (abort with ^G)
4> B="在一个遥远的地方".
[22312,19968,20010,36965,36828,30340,22320,26041]
5>

go  比如用fmt.Println(Key),当二制进数据时,直接用字节的0-255来显示出来!

wenewzha:pintoken wenewzhang$ ./pintoken
GFYyRh1DeIgj/qo5i4IILAM/n6Qn7Uqw2PU9kpMGyz+diXcpdEdJoiCLTmC+TwGkXbQ+g3f8fKUH9X+KcOr5pHMSgYKs0wCzfmFUHSt9upUqkhYrUpDGdwPsoYttMO0tymCFuP29wAFB5A6PeI9dLob3IC+IfbEugkUBR7t2UL0=
[24 86 50 70 29 67 120 136 35 254 170 57 139 130 8 44 3 63 159 164 39 237 74 176 216 245 61 146 147 6 203 63 157 137 119 41 116 71 73 162 32 139 78 96 190 79 1 164 93 180 62 131 119 252 124 165 7 245 127 138 112 234 249 164 115 18 129 130 172 211 0 179 126 97 84 29 43 125 186 149 42 146 22 43 82 144 198 119 3 236 161 139 109 48 237 45 202 96 133 184 253 189 192 1 65 228 14 143 120 143 93 46 134 247 32 47 136 125 177 46 130 69 1 71 187 118 80 189]

 

添加新评论

Restricted HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。