Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Gunosy.go#1 builtin

Gunosy.go#1 builtin

担当: @cou_z
builtinパッケージ

y_matsuwitter

June 17, 2014
Tweet

More Decks by y_matsuwitter

Other Decks in Technology

Transcript

  1. buil/n   •  Package  buil/n   – Package  buil/n  provides  documenta/on

     for  Go's   predeclared  iden/fiers.   – h@p://golang.org/src/pkg/buil/n/buil/n.go   •  宣言とコメントのみ   •  実際に読み込んで利用することはない   2014/06/11   Gunosy.go  #1  buil/n  
  2. buil/n   •  Package  buil/n   •  The  items  documented

     here  are  not  actually  in   package  buil/n  but  their  descrip/ons  here  allow   godoc  to  present  documenta/on  for  the   language's  special  iden/fiers.   2014/06/11   Gunosy.go  #1  buil/n  
  3. 紹介するもの   Constants   func  append(slice  []Type,  elems  ...Type)  []Type

      func  cap(v  Type)  int   func  close(c  chan<-­‐  Type)   func  complex(r,  i  FloatType)  ComplexType   func  copy(dst,  src  []Type)  int   func  delete(m  map[Type]Type1,  key  Type)   func  imag(c  ComplexType)  FloatType   func  len(v  Type)  int   func  make(Type,  size  IntegerType)  Type   func  new(Type)  *Type   func  panic(v  interface{})   func  print(args  ...Type)   func  println(args  ...Type)   func  real(c  ComplexType)  FloatType   func  recover()  interface{}   type  ComplexType   type  FloatType   type  IntegerType   type  Type   type  Type1   type  bool   type  byte   type  complex128   type  complex64   type  error   type  float32   type  float64   type  int   type  int16   type  int32   type  int64   type  int8   type  rune   type  string   type  uint   type  uint16   type  uint32   type  uint64   type  uint8   type  uintptr   2014/06/11   Gunosy.go  #1  buil/n  
  4. Constants   true、false  :ブーリアン値    const  (      true

       =  0  ==  0  //  Untyped  bool.        false  =  0  !=  0  //  Untyped  bool.    )   2014/06/11   Gunosy.go  #1  buil/n  
  5. Constants   iota:連続した整数定数値を生成する識別子    const  iota  =  0  //  Untyped

     int.     例)    const  (    //  iotaは0にリセットされる   c0  =  iota    //  c0  ==  0      c1  =  iota    //  c1  ==  1      c2  =  iota    //  c2  ==  2    )     2014/06/11   Gunosy.go  #1  buil/n  
  6. func  append   append:スライスの末尾に要素追加    func  append(slice  []Type,  elems  ...Type)

     []Type     例)    slice  =  append(slice,  elem1,  elem2)    slice  =  append(slice,  anotherSlice...)         2014/06/11   Gunosy.go  #1  buil/n  
  7. func  cap   cap:型に応じて  v  のcapacityを返す    func  cap(v  Type)

     int     Array:  the  number  of  elements  in  v  (=len(v))   Pointer  to  array:  the  number  of  elements  in  *v  (=len(v))   Slice:  the  maximum  length  the  slice  can  reach  when  resliced;  if  v   is  nil,  cap(v)  is  zero.   Channel:  the  channel  buffer  capacity,  in  units  of  elements;  if  v  is   nil,  cap(v)  is  zero.   2014/06/11   Gunosy.go  #1  buil/n  
  8. func  close   close:channelを閉じる    func  close(c  chan<-­‐  Type)  

      x,  ok  :=  <-­‐c   閉じたチャンネルから受信すると、xは空、okはfalse になる   2014/06/11   Gunosy.go  #1  buil/n  
  9. func  complex   complex:複素数をつくる    func  complex(r,  i  FloatType)  ComplexType

         rとiは同サイズ(float32同士、float64同士)でなくては いけない    float32からつくるとcomplex64になり、    float64からつくるとcomplex128になる   2014/06/11   Gunosy.go  #1  buil/n  
  10. func  copy   copy:srcスライスからdstスライスにコピーする    func  copy(dst,  src  []Type)  int

         戻り値は、コピーした要素数(len(src)とlen(dst)の小さ い方と一致)   2014/06/11   Gunosy.go  #1  buil/n  
  11. func  len   len:型に応じたlengthを返す    func  len(v  Type)  int  

      Array:  the  number  of  elements  in  v.   Pointer  to  array:  the  number  of  elements  in  *v  (even  if  v   is  nil).   Slice,  or  map:  the  number  of  elements  in  v;  if  v  is  nil,   len(v)  is  zero.   String:  the  number  of  bytes  in  v.   Channel:  the  number  of  elements  queued  (unread)  in  the   channel  buffer;if  v  is  nil,  len(v)  is  zero   2014/06/11   Gunosy.go  #1  buil/n  
  12. func  new   new:初期化    func  new(Type)  *Type    

     makeと違ってこっちはポインタが返る   2014/06/11   Gunosy.go  #1  buil/n  
  13. func  panic   panic:関数を停止し、ゴルーチンのスタックの巻 き戻す    func  panic(v  interface{})  

       ゴルーチンのスタックの先頭に到達すると、プログラ ムは終了する   2014/06/11   Gunosy.go  #1  buil/n  
  14. func  print   print:標準エラー出力する    func  print(args  ...Type)    

     デバッグとかに使える    it  is  not  guaranteed  to  stay  in  the  language.      (いつか無くなるかもしれない?)   2014/06/11   Gunosy.go  #1  buil/n  
  15. func  println   println:改行付きで標準エラー出力する    func  println(args  ...Type)    

       It  is  not  guaranteed  to  stay  in  the  language.       2014/06/11   Gunosy.go  #1  buil/n  
  16. type   ComplexType,  FloatType,  IntegerType,  Type,   Type1:ドキュメントだけで使用する型たち   bool: true

     and  false   byte: uint8のエイリアス   complex128: float64の実数と虚数からなる複素 数   complex64: float32の実数と虚数からなる複素数   error: エラー(エラー無しだとnilになる)     2014/06/11   Gunosy.go  #1  buil/n  
  17. type   string: 文字列、 空にはなるけどnilにはならない、 immutable   float32,  float64: 32bit、64bitのfloat   int8,

     int16,  int32,  int64: 8,  16,  32,  64bitのint   rune: int32のエイリアス   uint8,  uint16,  uint32,  uint64: 8,  16,  32,  64bitの unsigned  int   uintptr:ポインタのビットパターンを保持できるくら い大きいint   2014/06/11   Gunosy.go  #1  buil/n