Golang23 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. chapter2(3) go test 이전 글 chapter2(2) go 확장자를 실행 시 키는 방법은 터미널에서 main함수가 있는 패키지(현재 파일 경로)에서 go run이라는 명령어를 사용하거나 IDE의 힘을 빌리는 방법이다. 오늘은 책에 나와있는 run, build, test에 대 java-web-developer.tistory.com 이전 글에 이어서 Go에서 기본으로 지원하는 단위 테스트 라이브러리를 이용한 단위 테스트를 포스트 하겠다. 테스트할 자료는 Go API인 strconv모듈을 사용해서 간단한 테스트를 만들었고 폴더 구조는 위 사진과 같다. 앞으로 포스트 하면서 tests 폴더를 자주 이용할 예정이다. 약간 걱정인 게 import이지만 뭐... 해결책은 있겠죠? ㅎ Go에서는 단위 테스트 모듈인 testing을 지원해주는.. 2022. 1. 18. 이전 1 2 3 4 5 6 다음