0
0

More than 3 years have passed since last update.

golangの基本的なこと

Last updated at Posted at 2020-08-29

Basic variable types

  • bool
  • signed integer: int int8 int16 int 32 int64
  • unsigned integer: unint unit8 unit16 unit32 unit64 unitptr
  • byte (alias for uint8)
  • run (unicode point, alias for int32)
  • float32 float64
  • complex64 complex128

integer comparison

Type Description
int unit uintptr at least 32 bit based on OS (32 bit on 32 bit OS, 64 bit on 64 bit OS
int8 -128 ~ 127 ($ -2^7$ ~ $2^7-1$)
unit8 0 ~ 255 (0 ~ $2^8-1$)
int16 -32768 ~ 32767
unit16 0 ~ 65535

(if there is no any special reason, int should be used when we need a number)

  • byte = unit8 (these types are to differentiate byte and number)

Get the biggest number of a type

Type Go syntax Meaning
unint64 1<<64 - 1 2^64 - 1
unint8 1<<8 - 1 2^8 - 1 = 255

How it works?

big = 1 << 100 // shift a 1 bit left 100 places <=> 2^100
small = big >> 99 // it right again 99 places <=> 2^-99, so we end up with 1<<1, or 2

Type conversion


var i int = 42
var f float = float64(i)
var u int = unint(f)

// same as
i := 42
f := float64(i)
u := uint(f)

init() function

  • init() is called after package variable declaration
  • each package may have multiple init()
  • order of calling init() (in case of multiple init) is un-guaranteed

main() function

main() is called after all init() are run

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0