상세 컨텐츠

본문 제목

[Nomad Coin] Tour of Go - #3.1 Variables in Go

Go/Blockchain

by Gopythor 2022. 7. 10. 03:37

본문

728x90
반응형

#3.1 Variables in Go

package main

func main() {
	var name string = "nico"
	name = 12	// 12는 숫자라서 안된다.
	name = "12"	// 다른 string으로 업데이트는 가능
    
	name := "nico"	// 이렇게 선언도 가능
	name = 12	// 숫자는 여전히 불가능
    
	age := 12	//int
	age = "12"	//string이라서 불가능
}
  • var 변수의 이름(name) 변수의 type(string) = 변수의 값(nico)
  • name은 항상 string이다.
  • 변수에 다른 type의 값을 줄 수 없다.
  • 선언 방법은 name := "nico"도 가능, compiler가 자동으로 name의 type이 string임을 인지.
  • name의 type은 첫 value의 type이 된다.
  • age는 int다.
  • =:는 엄청난 shortcut이다. 변수를 만들어주고, 변수 값을 설정해주고, complier에게 변수의 type은 value의 type으로 정의
  • =는 업데이트만 가능.
  • shortcut을 함수 밖에서는 사용할 수 없다. 함수 밖에서 변수를 만들고 싶으면 긴 syntax 사용.
package main

const name string = "nico"

func main() {
	name = "lalala"	//const는 수정 불가
}
  • name은 변수가 아닌 정수이므로 값 수정 불가.
bool

string

int  int8  int16  int32  int64
uint uint8 uint16 uint32 uint64 uintptr

byte // alias for uint8

rune // alias for int32
     // represents a Unicode code point

float32 float64

complex64 complex128
  • Go에는 bool, string, 많은 숫자들.
  • uint8(unsignd integer of 8bits)의 alias인 byte.
  • int32(integer of 32bit)의 alias인 rune.
  • int는 signed integer이고, uint는 unsigned integer.
  • unsigned는 음의 정수가 아닌 양의 정수만 해당(항상 양수).
  • int는 -20같이 음의 수가 될 수 있음.
  • 64, 32, 16, 8은 이 변수들이 가질 수 있는 숫자의 크기를 의미.
uint8       unsigned  8-bit integers (0 to 255)
uint16      unsigned 16-bit integers (0 to 65535)
uint32      unsigned 32-bit integers (0 to 4294967295)
uint64      unsigned 64-bit integers (0 to 18446744073709551615)
int8        signed  8-bit integers (-128 to 127)
int16       signed 16-bit integers (-32768 to 32767)
int32       signed 32-bit integers (-2147483648 to 2147483647)
int64       signed 64-bit integers (-9223372036854775808 to 9223372036854775807)
  • 대부분의 경우는 int사용.
  • complier가 최소한 32bit의 숫자를 갖게 해줌.

강의 출처 : 노마드코더(https://nomadcoders.co)

728x90
반응형

관련글 더보기

댓글 영역