package  tgimport  (	"context" 	"errors" 	"fmt" 	"sort" 	"strings" 	"go.uber.org/multierr" 	"github.com/gotd/td/bin" 	"github.com/gotd/td/tdjson" 	"github.com/gotd/td/tdp" 	"github.com/gotd/td/tgerr" )var  (	_ = bin .Buffer {}	_ = context .Background ()	_ = fmt .Stringer (nil )	_ = strings .Builder {}	_ = errors .Is 	_ = multierr .AppendInto 	_ = sort .Ints 	_ = tdp .Format 	_ = tgerr .Error {}	_ = tdjson .Encoder {})type  SecureFileClassArray  []SecureFileClass func  (s  SecureFileClassArray ) Sort less  func (a , b  SecureFileClass ) bool ) SecureFileClassArray  {	sort .Slice (s , func (i , j  int ) bool  {		return  less (s [i ], s [j ])	})	return  s }func  (s  SecureFileClassArray ) SortStable less  func (a , b  SecureFileClass ) bool ) SecureFileClassArray  {	sort .SliceStable (s , func (i , j  int ) bool  {		return  less (s [i ], s [j ])	})	return  s }func  (s  SecureFileClassArray ) Retain keep  func (x  SecureFileClass ) bool ) SecureFileClassArray  {	n  := 0 	for  _ , x  := range  s  {		if  keep (x ) {			s [n ] = x 			n ++		}	}	s  = s [:n ]	return  s }func  (s  SecureFileClassArray ) First v  SecureFileClass , ok  bool ) {	if  len (s ) < 1  {		return 	}	return  s [0 ], true }func  (s  SecureFileClassArray ) Last v  SecureFileClass , ok  bool ) {	if  len (s ) < 1  {		return 	}	return  s [len (s )-1 ], true }func  (s  *SecureFileClassArray ) PopFirst v  SecureFileClass , ok  bool ) {	if  s  == nil  || len (*s ) < 1  {		return 	}	a  := *s 	v  = a [0 ]		copy (a [0 :], a [1 :])	var  zero  SecureFileClass 	a [len (a )-1 ] = zero 	a  = a [:len (a )-1 ]	*s  = a 	return  v , true }func  (s  *SecureFileClassArray ) Pop v  SecureFileClass , ok  bool ) {	if  s  == nil  || len (*s ) < 1  {		return 	}	a  := *s 	v  = a [len (a )-1 ]	a  = a [:len (a )-1 ]	*s  = a 	return  v , true }func  (s  SecureFileClassArray ) AsSecureFile to  SecureFileArray ) {	for  _ , elem  := range  s  {		value , ok  := elem .(*SecureFile )		if  !ok  {			continue 		}		to  = append (to , *value )	}	return  to }func  (s  SecureFileClassArray ) FillNotEmptyMap to  map [int64 ]*SecureFile ) {	for  _ , elem  := range  s  {		value , ok  := elem .AsNotEmpty ()		if  !ok  {			continue 		}		to [value .GetID ()] = value 	}}func  (s  SecureFileClassArray ) NotEmptyToMap map [int64 ]*SecureFile  {	r  := make (map [int64 ]*SecureFile , len (s ))	s .FillNotEmptyMap (r )	return  r }func  (s  SecureFileClassArray ) AppendOnlyNotEmpty to  []*SecureFile ) []*SecureFile  {	for  _ , elem  := range  s  {		value , ok  := elem .AsNotEmpty ()		if  !ok  {			continue 		}		to  = append (to , value )	}	return  to }func  (s  SecureFileClassArray ) AsNotEmpty to  []*SecureFile ) {	return  s .AppendOnlyNotEmpty (to )}func  (s  SecureFileClassArray ) FirstAsNotEmpty v  *SecureFile , ok  bool ) {	value , ok  := s .First ()	if  !ok  {		return 	}	return  value .AsNotEmpty ()}func  (s  SecureFileClassArray ) LastAsNotEmpty v  *SecureFile , ok  bool ) {	value , ok  := s .Last ()	if  !ok  {		return 	}	return  value .AsNotEmpty ()}func  (s  *SecureFileClassArray ) PopFirstAsNotEmpty v  *SecureFile , ok  bool ) {	value , ok  := s .PopFirst ()	if  !ok  {		return 	}	return  value .AsNotEmpty ()}func  (s  *SecureFileClassArray ) PopAsNotEmpty v  *SecureFile , ok  bool ) {	value , ok  := s .Pop ()	if  !ok  {		return 	}	return  value .AsNotEmpty ()}type  SecureFileArray  []SecureFile func  (s  SecureFileArray ) Sort less  func (a , b  SecureFile ) bool ) SecureFileArray  {	sort .Slice (s , func (i , j  int ) bool  {		return  less (s [i ], s [j ])	})	return  s }func  (s  SecureFileArray ) SortStable less  func (a , b  SecureFile ) bool ) SecureFileArray  {	sort .SliceStable (s , func (i , j  int ) bool  {		return  less (s [i ], s [j ])	})	return  s }func  (s  SecureFileArray ) Retain keep  func (x  SecureFile ) bool ) SecureFileArray  {	n  := 0 	for  _ , x  := range  s  {		if  keep (x ) {			s [n ] = x 			n ++		}	}	s  = s [:n ]	return  s }func  (s  SecureFileArray ) First v  SecureFile , ok  bool ) {	if  len (s ) < 1  {		return 	}	return  s [0 ], true }func  (s  SecureFileArray ) Last v  SecureFile , ok  bool ) {	if  len (s ) < 1  {		return 	}	return  s [len (s )-1 ], true }func  (s  *SecureFileArray ) PopFirst v  SecureFile , ok  bool ) {	if  s  == nil  || len (*s ) < 1  {		return 	}	a  := *s 	v  = a [0 ]		copy (a [0 :], a [1 :])	var  zero  SecureFile 	a [len (a )-1 ] = zero 	a  = a [:len (a )-1 ]	*s  = a 	return  v , true }func  (s  *SecureFileArray ) Pop v  SecureFile , ok  bool ) {	if  s  == nil  || len (*s ) < 1  {		return 	}	a  := *s 	v  = a [len (a )-1 ]	a  = a [:len (a )-1 ]	*s  = a 	return  v , true }func  (s  SecureFileArray ) SortByID SecureFileArray  {	return  s .Sort (func (a , b  SecureFile ) bool  {		return  a .GetID () < b .GetID ()	})}func  (s  SecureFileArray ) SortStableByID SecureFileArray  {	return  s .SortStable (func (a , b  SecureFile ) bool  {		return  a .GetID () < b .GetID ()	})}func  (s  SecureFileArray ) SortByDate SecureFileArray  {	return  s .Sort (func (a , b  SecureFile ) bool  {		return  a .GetDate () < b .GetDate ()	})}func  (s  SecureFileArray ) SortStableByDate SecureFileArray  {	return  s .SortStable (func (a , b  SecureFile ) bool  {		return  a .GetDate () < b .GetDate ()	})}func  (s  SecureFileArray ) FillMap to  map [int64 ]SecureFile ) {	for  _ , value  := range  s  {		to [value .GetID ()] = value 	}}func  (s  SecureFileArray ) ToMap map [int64 ]SecureFile  {	r  := make (map [int64 ]SecureFile , len (s ))	s .FillMap (r )	return  r } The pages are generated with Golds v0.6.7 . (GOOS=linux GOARCH=amd64)
Golds  is a Go 101  project developed by Tapir Liu .
PR and bug reports are welcome and can be submitted to the issue list .
Please follow @Go100and1  (reachable from the left QR code) to get the latest news of Golds .