본문 바로가기

전체 글110

golang에서의 slicing golang에서는 파이썬처럼 리스트 슬라이싱 기능을 지원하는데 오늘은 슬라이싱을 할 때의 주의점을 알아보자 파이썬을 써보았다면 익숙할 슬라이싱이다. 근데 여기서 질문을 던져보겠다. 리스트 b는 리스트 a와 아무 연관이 없는 리스트일까? 정답은 연관이 있다이다. 아래 그림을 보자 b[0]을 11로 바꾸니 리스트a의 3번째인덱스도 바뀌어버렸다. (참고로 슬라이싱의 원조?인 파이썬에서는 golang과는 다르게 슬라이싱한 리스트의 값을 변경해도 원본 리스트의 값이 변경되지 않는다.) 이게 무엇을 의미할까? 즉, golang에서 슬라이싱이란 원본 리스트를 슬라이싱한 범위만 가리키고 있다는 뜻이다. 뭔소린지 글로는 이해가 안갈 것이다. 아래 그림을 보면 이해가 잘될테니 아래 그림을 보자 이러한 이유로 golang에.. 2020. 5. 18.
golang에서의 문자열 처리 파이썬에서는 문자열처리가 상당히 편한데 golang에서의 문자열처리는 파이썬에 비해 직관적이지 않고 조금 당황스러울 수 있어서 한번 정리해보려고한다. 바로 시작해보자 hello world를 변수 s에 넣고 하나씩 출력해봤다. (참고로 golang은 type이 있는 언어지만 :=를 통해서 알아서 타입지정을 해준다. (이 부분이 궁금하면 구글링을 해보자) 여튼 그래서 s는 지금 문자열이 들어가있는 상태이다. 그래서 출력 결과는? 딱봐도 아스키코드가 나온듯하다. 그럼 어떻게 알파벳을 출력할까? 답은 간단하다. string함수를 쓰면 된다. 그럼 오늘의 키 포인트인 한글은 어떻게 처리할까? 뭔가 이상하게 나온다. 왜 그럴까? Go는 utf-8을 기반으로 한다. (참고로 go만든 사람중에 한명이 utf-8을 만들.. 2020. 5. 13.