学习了一会儿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]
Comments
(无主题)
看不起Go, 太难看了,故做高深,包的管理难看!与Rust没办法比!
添加新评论