728x90

Go - 재귀를 이용한 이진수 출력하기

package main

import "fmt"

func dfs(x int) {
	if x == 0 {
		return
	} else {
		dfs(x / 2)
		fmt.Print(x % 2)
	}
}

func main() {
	var num int
	fmt.Scanln(&num)
	dfs(num)
}

 

파이썬으로 알고리즘 공부를 하다가 번아웃 비슷하게 오기 시작하여 새로운 걸 배우면서 극복하기로 했다.

요즘 핫하다는 Go 언어로 입문 해보기로 했다. 하지만 모르는 것 하나하나 찾는게 일이엿다..

 

 

불행중 불행으로 재귀 스택 프레임을 디버거로 찍어보려고 했지만 이게 무슨일인가 go 의 디버거 devel 이 go version 1.16 M1 칩을 지원하지 않았고 나는 아직 Go 에 익숙치 않아서 디버깅을 해볼수 없었다 ㅎ;

 

https://youtrack.jetbrains.com/issue/GO-10235

 

Apple M1 ARM - trying to debug - rosetta error: failed to allocate vm space for aot : GO-10235

Hi All Hope you're all safe and well. You're probably already aware of this but just in case. When trying to debug on Apple M1, it comes back with "rosetta error: failed to allocate vm space for aot". Just wondering if there's any recommendations please. L

youtrack.jetbrains.com

 

올해 목표는 programmers 의 많은 문제들을 go 로 풀어보는 것이고 새로시작하는 프로젝트의 백엔드를 golang 으로 만들어 볼생각이다.

 

개인적으로 파이썬을 가장 좋아하는 언어로 사용하고 있었던 만큼 파이썬 과 문법이 비슷하고 포인터 와 컴파일언어 라는게 매우 매력적인거 같다. 한번 잘해보자 golang!

728x90

'Go' 카테고리의 다른 글

Go - 구조화된 로그 남기기  (0) 2021.09.24
Golang 으로 맛보는 TDD(테스트 주도 개발)  (0) 2021.09.15
Go lang 에서 Mysql 연동하기  (0) 2021.09.10
구조체 슬라이스 정렬  (0) 2021.09.07
Go - 스택 메모리와 힙메모리  (0) 2021.09.05