Golang:给定其值的常数的名称
发布时间:2020-12-16 19:20:26 所属栏目:大数据 来源:网络整理
导读:给定它的价值,你如何得到一个常数的名字? 更具体地(并获得更可读的理解),我正在使用crypto / tls包.密码套件定义为常数: const ( TLS_RSA_WITH_RC4_128_SHA uint16 = 0x0005 TLS_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0x000a TLS_RSA_WITH_AES_128_CBC_SHA
给定它的价值,你如何得到一个常数的名字?
更具体地(并获得更可读的理解),我正在使用crypto / tls包.密码套件定义为常数: const ( TLS_RSA_WITH_RC4_128_SHA uint16 = 0x0005 TLS_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0x000a TLS_RSA_WITH_AES_128_CBC_SHA uint16 = 0x002f TLS_RSA_WITH_AES_256_CBC_SHA uint16 = 0x0035 TLS_ECDHE_RSA_WITH_RC4_128_SHA uint16 = 0xc011 TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0xc012 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA uint16 = 0xc013 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA uint16 = 0xc014 ) 在与服务器成功握手后,我可以通过连接得到Ciphersuite: c,_ := tls.Dial("tcp","somedomain.com:443",nil) // Suppose everything went right // This is the Ciphersuite for the conn: cipher := c.ConnectionState().Ciphersuite 这里的密码是一个uint16.有没有办法将其显示为字符串,例如TLS_RSA_WITH_3DES_EDE_CBC_SHA,如果这是同意的?
我恐怕是不可能的.
常量在编译时解决,反射包中没有任何可以检索的名称. 我建议用地图创建地图: var constLookup = map[uint16]string{ tls.TLS_RSA_WITH_RC4_128_SHA: `TLS_RSA_WITH_RC4_128_SHA`,tls.TLS_RSA_WITH_3DES_EDE_CBC_SHA: `TLS_RSA_WITH_3DES_EDE_CBC_SHA`,... } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |