원문 정리 차이를 간략하게 설명한다. new(T) make(T) 대상 임의의 타입 slice, map, channel 만 초기화 초기화 하지 않는다(0 값으로 된다) 초기화 한다 반환 값 *T T 대상 및 초기화에 대해 new()와 make()에서 초기화 하지 않는/하는의 차이는 slice, map, channel이...
더 읽기
아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. 구조체 만들기 package main import ( "log" ) type Money struct { amount uint currency string } func main() { money := &Money{120, "yen"} // 포인터로 생성 log.Printf("%#v", money) }...
더 읽기
FreeNet은 C#으로 온라인 게임 서버 만들기의 저자 이석현님이 Github에 공개한 네트워크 라이브러리이다. 책을 먼저 보면 코드 이해가 쉽다. C# 오픈 소스 네트워크 라이브러리로 SuperSocket이 유명한데 이 라이브러리는 기능이 많은만큼 복잡한데 FreeNet은 필수 기능만 있어서 분석하기도 좋다. 그래서 C# 네트워크 프로그래밍...
더 읽기
아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. 출처 문자열 <-> 수치 변환 strconv 패키지를 사용한다. 문자열 → 수치변환 func Atoi(s string) (i int, err error) 문자열을 10 진수 int 타입으로 변환한다. ParseInt(s, 10, 0)의 간략화 버전 var...
더 읽기
아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. 라이브러리 관리 go get 으로 받은 패키지 갱신 go get -u all 로 안된다면 문제의 xx.a 파일을 삭제하고 go run을 실행한다. rm /Users/kjunichi/gocode/pkg/darwin_amd64/github.com/andrebq/gas.a go run triangle.go # command-line-arguments ./triangle.go:11: import...
더 읽기
아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. 공식 문서 일어 0 에서 9까지(포함)의 난수 얻기 import ( "fmt" "math/rand" "time" ) func main() { rand.Seed(time.Now().UnixNano()) for i := 0; i < 10; i++ { fmt.Println("My favorite number...
더 읽기
아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. // main.go package main import ( "log" ) func main() { log.Printf("hello") } 에서 “log.”를 생략하려면 import ( . "log" ) 로 하면 Printf("hello") 라고 쓸수 있다. 마찬가지로, import (...
더 읽기
아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. os/exec.LookPath를 사용하면 커맨드가 실행 가능한지 조사 할 수 있다. $PATH 를 고려하여 찾아주지만 슬래쉬가 들어가 있으면 $PATH를 고려하지 않는다. package main import ( "log" "os/exec" ) func main() { tests...
더 읽기
아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다. []byte를 string으로 변환 시 널 문자 제거하기 var rawUserID []byte userID := strings.Trim(string(rawUserID), "\x00") byte array to string 출처 s := string(byteArray[:]) s := string(byteArray[:n]) str := fmt.Sprintf("%s", byteArray) []string...
더 읽기
일시: 2018년 12월 6일(목) 15시~18시(3시간) 주제: IOCP를 이용한 비동기 IO 네트워크 프로그래밍 유료: 토즈에서 공간을 대여하므로 공간 비용을 내야 합니다. Windows에서 IOCP를 사용하여 서버 프로그램을 만드는 방법을 설명합니다. 3시간이라는 시간이 길지는 않으므로 참석 전에 꼭 네이버 검색이나 책을 통해서 IOCP에...
더 읽기