Slide 1

Slide 1 text

Gunosy.go  #1   buil/n   Gunosy  Inc.   吉田 宏司  

Slide 2

Slide 2 text

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  

Slide 3

Slide 3 text

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  

Slide 4

Slide 4 text

紹介するもの   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  

Slide 5

Slide 5 text

Constants   true、false  :ブーリアン値    const  (      true    =  0  ==  0  //  Untyped  bool.        false  =  0  !=  0  //  Untyped  bool.    )   2014/06/11   Gunosy.go  #1  buil/n  

Slide 6

Slide 6 text

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  

Slide 7

Slide 7 text

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  

Slide 8

Slide 8 text

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  

Slide 9

Slide 9 text

func  close   close:channelを閉じる    func  close(c  chan<-­‐  Type)     x,  ok  :=  <-­‐c   閉じたチャンネルから受信すると、xは空、okはfalse になる   2014/06/11   Gunosy.go  #1  buil/n  

Slide 10

Slide 10 text

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  

Slide 11

Slide 11 text

func  real   real:複素数の実数部分を返す    func  real(c  ComplexType)  FloatType   2014/06/11   Gunosy.go  #1  buil/n  

Slide 12

Slide 12 text

func  imag   imag:複素数の虚数部分を返す    func  imag(c  ComplexType)  FloatType   2014/06/11   Gunosy.go  #1  buil/n  

Slide 13

Slide 13 text

func  copy   copy:srcスライスからdstスライスにコピーする    func  copy(dst,  src  []Type)  int      戻り値は、コピーした要素数(len(src)とlen(dst)の小さ い方と一致)   2014/06/11   Gunosy.go  #1  buil/n  

Slide 14

Slide 14 text

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  

Slide 15

Slide 15 text

func  make   make:スライス、マップ、チャンネルを初期化す る    func  make(Type,  size  IntegerType)  Type       2014/06/11   Gunosy.go  #1  buil/n  

Slide 16

Slide 16 text

func  new   new:初期化    func  new(Type)  *Type      makeと違ってこっちはポインタが返る   2014/06/11   Gunosy.go  #1  buil/n  

Slide 17

Slide 17 text

func  panic   panic:関数を停止し、ゴルーチンのスタックの巻 き戻す    func  panic(v  interface{})      ゴルーチンのスタックの先頭に到達すると、プログラ ムは終了する   2014/06/11   Gunosy.go  #1  buil/n  

Slide 18

Slide 18 text

func  recover   recover:巻き戻しを停止し、panicに渡された引 数が返ります    func  recover()  interface{}      defer内でのみ使用可能   2014/06/11   Gunosy.go  #1  buil/n  

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

func  println   println:改行付きで標準エラー出力する    func  println(args  ...Type)        It  is  not  guaranteed  to  stay  in  the  language.       2014/06/11   Gunosy.go  #1  buil/n  

Slide 21

Slide 21 text

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  

Slide 22

Slide 22 text

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