эффективный способ распечатать мой формат - PullRequest
0 голосов
/ 08 ноября 2011

Хотелось бы, чтобы был эффективный способ распечатать мой формат. Как я знаю, конвертировать в строку может возникнуть проблема производительности. Есть ли лучший метод?

package main

import "fmt"

type T struct {
  order_no [5]byte
  qty int32
}
func (t T)String() string {
  return fmt.Sprint("order_no=", t.order_no, 
    "qty=", t.qty)
}

func main() {
        v := T{[5]byte{'A','0','0','0','1'}, 100}

    fmt.Println(v)
}    

Выход order_no=[65 48 48 48 49]qty=100 Я желаю, чтобы это было order_no=A0001 qty=100.

Кстати, почему func (t T)String() string работают, а func (t *T)String() string не могут работать. (На goplay)

1 Ответ

1 голос
/ 08 ноября 2011
package main

import "fmt"

type T struct {
    order_no [5]byte
    qty      int32
}

func (t T) String() string {
    return fmt.Sprint(
        "order_no=", string(t.order_no[:]),
        " qty=", t.qty,
    )
}

func main() {
    v := T{[5]byte{'A', '0', '0', '0', '1'}, 100}
    fmt.Println(v)
}

Выход:

order_no=A0001 qty=100
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...