fun-go

Tag: fun-go

구조체 초기화 방법

C 구조체 초기화 다음 C 구조체 초기화 방법 중 문법에 위배되는 것은? (단, C99 기준) struct MyStruct { int a; int b; }; // method 1 struct MyStruct m1 = {0, 1}; // method 2 struct MyStruct m2; m2 = (struct MyStruct){0, 1}; // method 3 struct { int ...

배열, 슬라이스 그리고 맵

Go의 built-in 자료구조인 배열, 슬라이스, 맵에 대해 좀 더 자세히 살펴보자. 크기 배열, 슬라이스, 맵은 모두 복수의 요소를 저장할 수 있다. 따라서 몇 개의 요소를 가지고 ...

상수에 대한 오해

상수에 대해서만 벌써 네 번째 글이다. 상수 별 것 없을 것 같은 상수의 별 것 정수형 상수의 내부 처리 그만큼 Go의 상수는 C/C++이나 Java를 사용했던 개발자가 오 ...

특수 함수들

본문 중 심볼(symbol)에 대한 내용은 편의상 리눅스 환경에서 빌드한 바이너리를 readelf 명령으로 확인한 결과입니다. C/C++, Java에서 가장 특이한 함수는 누가 뭐래 ...

정수형 상수의 내부 처리

이 글은 마지막 commit id가 4ba5527…인 Go 소스 코드를 기준으로 합니다. 함수명, 변수/상수명, 변수/상수값 등은 버전에 따라 다를 수 있습니 ...

봉인해제 switch

다시 switch 작성 규칙을 자세히 보면 switch 뒤에도, case 뒤에도 단순히 Expression이 올 수 있다. C/C++, Java에 익숙한 개발자라면 단서를 기대할 것이다. C의 swi ...

패키지, 임포트에 대한 심화 학습

이제 겨우 타입 정도를 다룬 마당에 굉장히 이른 감은 있지만, 패키지와 임포트가 나왔으니 짚고 넘어가자. Go도 당연히 다른 언어처럼 작성한 코드의 재사용이 가능하다 ...

별 것 없을 것 같은 상수의 별 것

상수의 타입과 한계 명시적이지 않은 듯 명시적인 Go에서 한 것처럼 reflect 패키지를 이용해 타입을 명시하지 않은 상수의 타입에 대해 알아보자. package main import "fmt" import "reflect" func main() { const A = ...

명시적이지 않은 듯 명시적인 Go

변수에서 살펴 본 것처럼 Go는 변수를 선언할 때 초기값을 같이 입력하면 굳이 타입을 명시하지 않아도 된다. var i = 1 f := 3.14 c := 1.0 + 1.0i 그렇다면 이 경우 i, f, c의 타입 ...

시작 Go

Go 토픽은 제가 Go 언어를 공부하면서 정리한 내용들입니다. 그간 주로 C/C++을 사용해 왔던지라 ‘그에 비해 Go는 이렇더라’라는 내 ...