분류 전체보기42 chapter3(4) primitive type - wrap around wrap around는 엄청 쉽게 이해할 수 있는 내용인 거 같지만 Go를 공부하면서 처음 접한 이론?이라 단독 포스트를 하게 됐다. 이번에 공부하면서 처음 알게 된 것부터 wrap around까지 천천히 최대한 자세히 서술해보겠다. 원래 알고 있던 2진수를 조금 더 깊고 자세하게 알게 되는 계기가 됐는데 그중 msb와 lsb가 뭔지부터 설명하겠다. lsb [least significant bit] bit의 맨 오른쪽에 있는 bit를 뜻하고 연산의 시작점이라 할 수 있다. msb [most significant bit] bit의 맨 왼쪽에 있는 bit를 뜻하고 signed int는 msb가 0 이면 +(plus), 1 이면 -(minus)를 표현하고 unsigned int는 2^n으로 사용된다. wrap.. 2022. 1. 30. chapter3(3) primitive type - uint and casting and overflow casting은 변수가 표현하는 범위인 type(자료형)을 확장(up casting) 또는 축소(down casting) 하는 작업을 casting이라 한다. java에서는 class 간의 상속 혹은 구현 관계에서도 casting이 적용된다. (Go는 class가 없다. 하지만 구현체가 있으므로 구현체 공부할 때 비슷한 게 나오지 않을까??) 하지만 이전 글에서 말했던 대로 Go는 type의 상하관계가 뭐든 auto casting을 지원하지 않는다. uint는 사용처는 제한적이다. 왜냐? 변수를 명시적 선언하지 않는 이상 묵시적 선언을 하면 정수인 경우 무조건 int이기 때문에 묵시적 선언 시 casting을 하거나 명시적 선언 시 type을 명시하는 방법뿐이다. 다른 방법으론 int로 표현할 수 없는 .. 2022. 1. 24. chapter3(2) primitive type - boolean and int Go는 정적인 자료형을 사용하는 언어라 한다. 정적 자료형은 컴파일 시점에 자료형이 결정되는 것이고 동적 자료형은 코드가 실행될 때 자료형이 결정되는 것이다. 자신이 사용하는 프로그래밍 언어를 두 가지 기준으로 생각하면 되는데 코드를 실행하는 방법이 컴파일(compile)인지 인터프리터(interpreter)인지 구분만 할 수 있으면 정적인지 동적인지 쉽게 알 수 있을 것이다. 그리고 Go는 meth모듈에서 자료형의 MaxValue와 MinValue를 사용할 수 있다. boolean( true / flase ) boolean type은 명시적으로 변수 선언 시 bool이라는 예약어를 사용하고 묵시적으로도 변수를 선언할 수 있다. 묵시적으로 변수를 선언 시 무조건 변수의 값을 초기화시켜야 하기 때문에 기본.. 2022. 1. 23. chapter3(1) variable 책에서는 주석과 fmt 패키지를 설명하지만 난 생략한다 ㅎㅎ... Go에서 변수의 타입으론 크게 세 가지로 구분할 수 있다. 수치형 (literal) 참조형 (slice, map, channel) 포인터형 수치형은 정수, 실수, 논리 값, 문자, 문자열과 같은 값을 저장하고 참조형은 Collection을 말하는 것 같다. 공부하면서 조금 놀란 부분이 있는데 go언어는 사용하지 않는 변수가 있으면 경고가 아닌 에러를 표출한다. 이런 강제적인 규제를 함으로써 컴파일 속도가 빠른 건가...?라고 생각이 들었다. 변수의 정의 방법은 크게 두 개가 있다. 명시적(explicit) 변수 정의 변수를 명시적으로 정의한다는 것은 해당 변수가 저장할 수치형 타입을 정한다는 것이다. var라는 예약어를 사용하고 변수명과 .. 2022. 1. 19. 이전 1 ··· 5 6 7 8 9 10 11 다음