Hi hex.EncodeString works! The problem was the struct field types ([]byte) instead of string.
Thanks! On Wednesday, September 4, 2019 at 4:49:46 PM UTC+3, burak serdar wrote: > > On Wed, Sep 4, 2019 at 6:41 AM <abraham...@cumucore.com <javascript:>> > wrote: > > > > > > I have tried to query mysql database table data but am getting the byte > data after trying many instances to convert the byte data to the > hexadecimal values. Any help about how can i get the hexadecimal values > from the database. > > > > I created the table below as > > > > > > CREATE TABLE `subscriber_profile` ( > > .... > > `msin` binary(5) NOT NULL, > > `msisdn` bigint(16) NOT NULL, > > `k` binary(16) DEFAULT NULL, > > `opc` binary(16) DEFAULT NULL, > > `sqn` binary(6) DEFAULT NULL, > > ... > > PRIMARY KEY (`mcc`,`mnc`,`msin`) > > ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; > > > > And the data in the database as > > > > > > INSERT INTO subscriber_profile VALUES > (...,358507777001/msisdn/,0x000102030405060708090A0B0C0D0E0F/k/,0xBC2BCE2A23BE2FAE32E4F1B4546004F7/opc/,...); > > > > > > Am querying the table using msisdn as parameter. Also is using byte in > struct field right? > > > > > > type SubscriberProfile struct { > > ... > > Msisdn int `json:"msisdn"` > > K []byte `json:"k"` > > Opc []byte `json:"opc"` > > } > > > > func GetPara(msisdn int) []SubscriberProfile { > > db := dbConn() > > selDB, err := db.Query("SELECT msisdn, k, opc FROM > subscriber_profile WHERE msisdn=?;", msisdn) > > if err != nil { > > panic(err.Error()) > > } > > av := SubscriberProfile{} > > res := []SubscriberProfile{} > > for selDB.Next() { > > var msisdn int > > var k, opc []byte > > err = selDB.Scan(&msisdn, &k, &opc) > > if err != nil { > > panic(err.Error()) > > } > > > > av.Msisdn = msisdn > > av.K = k > > av.Opc = opc > > res = append(res, av) > > } > > return res > > } > > > > I have tried to use hex.EncodeToString(k) but could not get the right > result. > > > > var data []SubscriberProfile > > data = GetPara(358507777001) > > > > fmt.Println(data) > > > > output: > > [{0 0 0 358507777001 [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15] [188 43 206 > 42 35 190 47 174 50 228 241 180 84 96 4 247]}] > > > > > > Am expecting an output [{0 0 0 358507777001 > 000102030405060708090A0B0C0D0E0F BC2BCE2A23BE2FAE32E4F1B4546004F7 0 ...}] > > > > Any help? > > The output you got is already the same as your expected output, with > the difference that the byte arrays are printed as decimal values > enclosed with [ ]. Instead of fmt.Println, print the struct fields one > by one while hex-encoding the contents of the byte arrays to get what > you need. What was the problem with hex.EncodeString? > > > > > > > > > > -- > > You received this message because you are subscribed to the Google > Groups "golang-nuts" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to golan...@googlegroups.com <javascript:>. > > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/fd3a967e-2b02-4658-a27b-ccfd40aa125d%40googlegroups.com. > > > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/2d4d7200-979c-4105-b35d-bfd84117fb0b%40googlegroups.com.