코딩/GoLang 18

GoLang 강좌, 테트리스 게임 만들기 3편

안녕하세요? 오늘은 GoLang 강좌로 지난 시간부터 시작한 테트리스 게임 만들기 3편입니다. 1편에서는 GoLang에서 터미널 UI를 담당하는 termbox-go에 대한 기본적인 사항에 대해 알아보았습니다. 1편 바로가기 GoLang 강좌, 테트리스 게임 만들기 안녕하세요? 이번에는 테트리스 게임을 통해 GoLang(고랭) 강좌를 진행해 보겠습니다. 이번에 만들 테트리스 게임은 그래픽 환경이 아닌 콘솔 터미널 창에서 작동하는 TUI 프로그램입니다. 먼저, cpro95.tistory.com 2편에서는 MVC 패턴에 있어 View와 Controller에 대해 알아보았습니다. 2편 바로가기 GoLang 강좌, 테트리스 게임 만들기 2편 안녕하세요? 지난 시간부터 시작한 GoLang 강좌인 테트리스 게임 만들..

코딩/GoLang 2021.08.18

GoLang 강좌, 테트리스 게임 만들기 2편

안녕하세요? 지난 시간부터 시작한 GoLang 강좌인 테트리스 게임 만들기 2편을 1편에 이어 마저 이어가도록 하겠습니다. 1편에서는 터미널 UI 패키지인 termbox-go에 대해 가볍게 살펴보았는데요. 1편 바로가기 GoLang 강좌, 테트리스 게임 만들기 안녕하세요? 이번에는 테트리스 게임을 통해 GoLang(고랭) 강좌를 진행해 보겠습니다. 이번에 만들 테트리스 게임은 그래픽 환경이 아닌 콘솔 터미널 창에서 작동하는 TUI 프로그램입니다. 먼저, cpro95.tistory.com 2편부터는 본격적인 게임 설계에 들어가 보겠습니다. 컴퓨터 게임 제작에 있어 가장 쉬운 패턴은 아마 MVC 패턴일 겁니다. 제가 MVC 패턴을 처음 접한 거는 QT로 GUI 프로그래밍하면서부터 일 겁니다. 처음에는 이해하..

코딩/GoLang 2021.08.05

GoLang 강좌, 테트리스 게임 만들기

안녕하세요? 이번에는 테트리스 게임을 통해 GoLang(고랭) 강좌를 진행해 보겠습니다. 이번에 만들 테트리스 게임은 그래픽 환경이 아닌 콘솔 터미널 창에서 작동하는 TUI 프로그램입니다. 먼저, 고랭에서 콘솔 UI를 만들 수 있는 패키지로 유명한 게 termbox-go입니다. https://github.com/nsf/termbox-go GitHub - nsf/termbox-go: Pure Go termbox implementation Pure Go termbox implementation. Contribute to nsf/termbox-go development by creating an account on GitHub. github.com 다른 프로젝트에 사용해 본 결과 사용하기 쉽고, 또 프로젝트를..

코딩/GoLang 2021.08.03

GoLang, RegExp로 신용카드 번호 점검하기

안녕하세요? GoLang에서 신용카드 번호 점검하는 루틴입니다. 해당 카드는 Visa, MasterCard, American Express입니다. // Regular expression validate Visa, MasterCard, American Express, Diners Club, Discover, and JCB cards package main import ( "fmt" "regexp" ) func main() { str1 := "4111111111111111" str2 := "346823285239073" str3 := "370750517718351" str4 := "4556229836495866" str5 := "5019717010103742" str6 := "76009244561" str7..

코딩/GoLang 2021.03.22

GoLang, 문자열에서 숫자를 0으로 치환하기

안녕하세요? 오늘은 고랭(Golang)에서 문자열 치환 예제를 살펴 볼까 합니다. 다음 예제는 문자열 str에서 한자리 숫자 또는 두자리 이상 숫자를 모두 0으로 치환하는 간단한 예입니다. 많은 도움이 되셨으면 합니다. package main import "fmt" func main() { str := "abc123465@ahsjf222" newStr := make([]rune, len(str)) i, added := 0, false for _, r := range str { if r >= '0' && r

코딩/GoLang 2021.03.02

GoLang, 다차원 배열 및 슬라이스 예제

안녕하세요? 고랭에서 다차원 배열 및 다차원 슬라이스에 대한 예제입니다. 많은 도움이 되셨으면 합니다. 배열을 선언 할 때 길이 대신 점 ...을 사용하면 컴파일러가 길이 선언 대신 세 개의 점을 포함하여 길이를 계산하도록 지시합니다. [:]는 배열의 모든 요소 값을 슬라이스에 할당합니다. package main import "fmt" func main() { println("Simple Array:") var arrayint = [...]int{1, 2, 3, 4} //assign fmt.Println(arrayint, "\n") println("Simple Slice:") var sliceint []int sliceint = arrayint[:] //assign fmt.Println(sliceint,..

코딩/GoLang 2021.02.10

GoLang 강좌 - Slice 와 Map 벤치마크 테스트

고랭에서 자주 쓰는 데이터 객체인 Slice 와 Map 자료형에 대한 벤치마크 테스트입니다. 고랭 공부에 많은 도움이 되셨으면 합니다. package main import ( "fmt" "time" ) type s struct { s []*s } type m struct { m map[int]*m } const ( testLevel = 1000000 testTimes = 600 ) func buildStruct() *s { root := &s{} cur := root for i := 0; i < testLevel; i++ { cur.s = make([]*s, 1) cur.s[0] = &s{} cur = cur.s[0] } return root } func traverseStruct(t *s) int { ..

코딩/GoLang 2021.02.10

GoLang - 파일 만들기 삭제하기 예제

안녕하세요? 고랭으로 파일 만들기, 읽기, 삭제 예제 코드입니다. 많은 활용 부탁드립니다. package main import ( "fmt" "io" "os" ) var path = "test.txt" func main() { createFile() writeFile() readFile() deleteFile() } func createFile() { // check if file exists var _, err = os.Stat(path) // create file if not exists if os.IsNotExist(err) { var file, err = os.Create(path) if isError(err) { return } defer file.Close() } fmt.Println("Fil..

코딩/GoLang 2021.02.07

GoLang - URL에서 이미지 다운로드 하기

안녕하세요? 고랭으로 URL에서 이미지 다운로드 하는 코드 샘플입니다. 많은 활용 부탁드립니다. package main import ( "fmt" "io" "net/http" "os" ) var ( fileName string fullURLFile string ) func main() { fullURLFile = "https://img1.daumcdn.net/thumb/C428x428/?scode=mtistory2&fname=https%3A%2F%2Ftistory4.daumcdn.net%2Ftistory%2F3074371%2Fattach%2F4258cb87d1204cdcbfc2f7ba615b870c" fileName = "download_image.jpg" // Create blank file file ..

코딩/GoLang 2021.02.07