Package fmt

Marrë nga https://golang.org/pkg/fmt/

Të përgjithshme:

  • %v – vlera në formatin standard. Gjatë printimit të strukteve, shenja plus para v (%+v) i paraqet edhe emrat e fushave
  • %#v – Vlera.
  • %T – Tipi i vlerës.
  • %% – Shenja e përqindjes, nuk konsumon vlerë.

Boolean:

  • %t – Fjala true ose false.

Numrat e plotë:

  • %b – Baza 2, numra binarë (0 deri 1).
  • %c – Karakteri sipas Unicode kod pointit korrespondues. fmt.Printf(“%c”, 1234) shfaq Ӓ.
  • %d – Baza 10, numrat decimalë (0 deri 9).
  • %o – Baza 8, numrat oktalë (0 deri 7).
  • %q – Unicode karakteri i futur brenda apostrofave. fmt.Printf(“%q”, 1234) shfaq ‘Ӓ’.
  • %x – Baza 16, numra heksadecimalë (0-F). Shkronja të vogla (a-f).
  • %X – Baza 16, numra heksadecimalë (0-F). Shkronja të mëdha (A-F).
  • %U – Formati i Unicode. fmt.Printf(“%U”, 1234) shfaq U+04D2.

Numrat me presje dhjetore dhe kompleksë:

  • %b – Notacion shkencor pa decimale me eksponent të 2 në fuqi, p.sh. -123456p-78.
  • %e – Notacion shkencor, p.sh. -1.234456e+78
  • %E – Notacion shkencor, p.sh. -1.234456E+78
  • %f – Numër me presje dhjetore, por pa eksponent, p.sh. 123.456
  • %F – Sinonim i %f
  • %g – %e për eksponentë të mëdhenj, %f përndryshe.
  • %G – %E për eksponentë të mëdhenj, %F përndryshe.

Stringjet dhe bajt segmentet (slice):

  • %s – Bajtë të painterpretuar të një stringu apo segmenti.
  • %q – String u futur brenda thonjëzave.
  • %x – Baza 16, shkronja të vogla, dy karaktere për bajt.
  • %X – Baza 16, shkronja të mëdha, dy karaktere për bajt.

Segmentet:

  • %p – Adresa e elementit me indeks 0 në notacionin me bazën 16, me 0x paraprijëse.

Pointer:

  • %p – Notacion me bazën 16, me 0x paraprijëse.
  • %b, %d, %o, %x dhe %X punojnë edhe me pointerë, duke e formatuar vlerën njëjtë sikur të ishte numër i plotë.

Formati standard për %v është:

  • bool: %t
  • int, int8 etc.: %d
  • uint, uint8 etj.:** %d**, *%#x* nëse printohet me %#v
  • float32, complex64, etj.: %g
  • string: %s
  • chan: %p
  • pointer: %p

Në kuadër të pakos fmt është i definuar interfejsi Stringer i cili kërkon nga implementuesi që ta ketë funksionin String(), me çka na mundësohet që një tip kompozit si strukti të mund të paraqitet si string gjatë printimit.

type Stringer interface {
    String() string
}

E krijojmë funksionin String() ku si pranues e caktojmë një strukt (Anetarj): func (p Anetari) String() string, ku si vlerë kthyese e funksionit do të jetë string. Brenda funksionit definojmë se si të kombinohen vlerat e fushave të ndryshme të struktit Anetari për ta formuar një string, pra që përmbajtja e struktit të prezantohet në formë të një rreshti tekstual.

package main

import "fmt"

type Anetari struct {
    Emri   string
    Gjinia string
    Mosha  int
}

func (p Anetari) String() string {
    return fmt.Sprintf("%v, %v", p.Emri, p.Mosha)
}

func main() {
    a := Anetari{"Arben", "m", 32}
    b := Anetari{"Fjolla", "f", 24}
    fmt.Println(a)
    fmt.Println(b)
}

https://play.golang.org/p/8EFAyafWgCy

Rezultati:

Arben, 32
Fjolla, 24
All Rights Reserved Theme by 404 THEME.