프로그래밍/GO11 Golang 초보 예제 프로그램 전화번호부 애플리케이션 개발 시리즈 Phone book program #1 beginner friendly 전화번호부 커맨드라인 어플리케이션 만들기 시리즈 첫번째 진행방향 고 언어로 전화번호부 어플을 만들어보려고 해요. 처음엔 기초적인 뼈대를 만들고, 점차 살을 붙여나가는 방식으로 진행될 예정입니다. 처음엔 코드 내부에 하드코딩한 데이터를 활용하여 검색하는 커맨드라인 입력 구현합니다. 이번장에서는 이름을 입력받아 검색되는 내용을 보여주는 search 와 list 를 구현합니다. 잠깐만요☺️ 아직 기능들이 추가되지 않기 때문에 ...🐱 * 데이터를 바꾸려면 소스코드에서 직접 바꿔야 합니다요. * 정렬기능 같은거 없습니다요. * 외부 파일에 데이터를 저장하거나 불러올 수 없습니다요. * 하드코딩 데이터기 때문에 바이너리 배포 불가능하다요. 이 예제는 😁 * Name, Tel 2개의 필드를 갖는 데이터 타입 구조체.. 프로그래밍/GO 2023. 2. 28. GO Generic 제네릭 짧게 알아봄 * 제네릭이란 데이터 타입마다 각각 다른 코드를 작성할 필요 없이 한 코드만으로 돌아가게 하는 거라고 대략 그런겁니다. 프로그래밍 기초를 배우다보면 데이터 포멧을 출력할때 보시게 되면 정수타입 실수 타입 스트링 타입 룬타입 이런 여러가지가 있지만 어떤타입이든 허용하는 포멧이 있죠. 제네릭이 함수같은곳에서 그런 역할을 합니다. * 다른 언어들은 진즉에 지원을 하였고, 사람들이 가장 많이 요청한 기능이라고 합니다. * 항상 제네릭이 필요한 것은 아닙니다. * 제네릭을 사용하더라도 이전처럼 Go를 사용할 수 있습니다. * 제네릭 코드를 완전히 제네릭 이 없는 코드로 대체할 수 있습니다. 그런데 제네릭을 사용하지 않고 추가적인 코드를 작성하고 싶을까요? * 코드와 설계가 더 간단해질 때만 제네릭을 사용하는게 좋.. 프로그래밍/GO 2023. 2. 24. 리눅스 which Go로 만들어보자 Golang Example What is which? which 가 무엇인가요? 리눅스 시스템에서 아주 유용하게 쓰이는 명령어 입니다. 터미널에서 which go 이런식으로 입력하면 그 실행파일의 path를 찾아주는 역할을 합니다. 상황 설명 내가 맨날 실행하던 fish 쉘 어디서 동작하는지 모를때 which fish 입력하면 /usr/bin/fish 이런식으로 찾아줍니다. 분명 패키지를 지웠는데 잘 실행되고 있는경우 확인하려고 할때 내가 go를 홈 디렉토리에서도 설치하고 패키지 매니저로도 설치하고 깃허브에서도 설치하고 한 상황에서 go get 한 파일들을 찾아보려고 할 때 (go env에서 go path를 찾아보아도 된다.) Go 에서 구현하기 Go에서 which 를 구현하면서 운영체제와 상호작용하는 방법을 살펴봅니다. os 와.. 프로그래밍/GO 2023. 2. 23. Getting started with multi-module workspaces 멀티 모듈 워크스페이스 # Go work 는 뭐하는 것인가? 워크스페이스에서 모듈관리하는 거라고 볼 수 있습니다 아래 예시처럼 workspace 디렉토리에서 하위 모듈을 사용 할 수 있어 여러 모듈을 관리하기 좋습니다. # Prerequisites Go 1.18 이후 버전 command terminal # Module 만들기 학습할 디렉토리에서 workspace 디렉토리를 만듭니다. 하위 폴더에 또 다시 hello 를 만들어 봅니다. go.mod 파일을 만듭니다. go mod init test/hello simple 하게 만듭니다. stringutil.Reverse 함수는 스트링을 뒤집어주는 함수인데 스탠다드 패키지에 들어있습니다. 고랭 공홈에 나와있는 예제를 다운받아서 활용합니다. go get golang.org/x/exam.. 프로그래밍/GO 2023. 2. 22. 모듈 호출하기 Call your code from another module 모듈 만들기에 이어서 https://everyauto.tistory.com/24 [모듈 만들기 creating a module 모듈은 간단하게 말하자면 패키지를 모아 놓은 것이라고 보면 됩니다. 지난시간에 https://everyauto.tistory.com/22 [Golang 처음부터 시작해보기 최근들어 고랭 공부를 다시 시작해 보면서 기록을 좀 남 everyauto.tistory.com](https://everyauto.tistory.com/24) 이번엔 모듈을 호출해서 사용하는 것을 해보겠습니다.. greetings 와 hello 디렉토리를 생성후 코드를 작성했습니다. 이렇게 준비된 상태에서 hello 디렉토리로 이동합니다. 각 디렉토리에서 go.mod 커맨드를 이용해서 모듈을 만들어줍니다. go .. 프로그래밍/GO 2023. 2. 21. 모듈 만들기 creating a module 모듈은 간단하게 말하자면 패키지를 모아 놓은 것이라고 보면 됩니다. 지난시간에 https://everyauto.tistory.com/22 Golang 처음부터 시작해보기 최근들어 고랭 공부를 다시 시작해 보면서 기록을 좀 남기고 복습도 하는 차원에서 블로그에 남기기로 결심했습니다. 블로그 아직까지 체계가 안잡혀서 중구난방이지만 최대한 잘 정리해볼게 everyauto.tistory.com rsc.io/quote 를 예제로 활용했는데 이 import 한것이 하나의 모듈이라고 볼 수 있습니다. 이 모듈안에는 해당 기능에 관련된 패키지들이 있고 패키지는 구현해 놓은 유용한 함수들이 들어있죠. 이번엔 이 모듈을 한번 만들어보고 가져와서 사용해보도록 하겠습니다. mkdir greetings cd greetings .. 프로그래밍/GO 2023. 2. 21. Golang 처음부터 시작해보기 최근들어 고랭 공부를 다시 시작해 보면서 기록을 좀 남기고 복습도 하는 차원에서 블로그에 남기기로 결심했습니다. 블로그 아직까지 체계가 안잡혀서 중구난방이지만 최대한 잘 정리해볼게요 https://go.dev/dl Downloads - The Go Programming Language Downloads After downloading a binary release suitable for your system, please follow the installation instructions. If you are building from source, follow the source installation instructions. See the release history for more information.. 프로그래밍/GO 2023. 2. 21. go로 web application 만들기 Introduction 도입 Covered in this tutorial: 이 튜토리얼에서 커버하는것 Creating a data structure with load and save methods 로드 및 저장 방법을 사용하여 데이터 구조 생성 Using the net/http package to build web applications net/http 패키지를 사용하여 웹 애플리케이션 구축 Using the html/template package to process HTML templates HTML/템플릿 패키지를 사용하여 HTML 템플릿 처리 Using the regexp package to validate user input regexp 패키지를 사용하여 사용자 입력 확인 Using closure.. 프로그래밍/GO 2021. 5. 26. 고(go) 에디터 플러그인 및 IDE 편집기 플러그인 및 IDE 소개옵션들 소개 이 문서에는 Go 에코시스템에서 일반적으로 사용되는 편집기 플러그인 및 IDE가 나열되어 있음 보다 생산적이고 원활한 바둑 개발을 실현하는 데 도움이 될 수 있다. 다음 사이트에서 바둑 개발을 위한 편집자 지원 및 IDE의 포괄적인 목록을 이용할 수 있다. 위키백과 옵션 Go 에코시스템은 다양한 편집기 플러그인과 IDE를 제공하여 일상 업무 개선 편집, 탐색, 테스트 및 디버깅 경험. Visual Studio 코드: Go 확장 기능을 통해 Go 프로그래밍 언어 지원 GoLand: GoLand는 독립형 IDE로 배포된다. 또는 IntelliJ IDEA Ultimate의 플러그인으로 사용 vim: vim-go 플러그인을 통해 Go 프로그래밍 언어 지원 제공 이러한 .. 프로그래밍/GO 2021. 4. 5. module 에 대해 공부해볼까 import cycle now allowed 좋아 고랭도 깔았으니 이제 그동안 유튜부를 보며, 문서들을 보며 갈고 닦은 내 실력을 마음껏 발휘할때가 되었어! 일단 해보고 싶은거 부터 해볼까? 삐빅 Error ?! 아... 음.. 뭐 다운이 안된다고?? 나 하란대로 했는데 맞게 했는데... 다시 깔고 영상보면서 재도전. 후우 이젠 되겟지 삐빅 Erorr 이거 뭐지 내꺼 버전이 다른가?? 뭐야 임포트하는 저주소에 v2라는게 접속이 안되잖아? 깃허브에서 v2라는 폴더 검색중 그런폴더는 없는걸 알게됨. 아... 모야 저 폴더가 없어서 그런거구나 *v2 를 지우니 뭔가 작동되는거 같다* 그다음에 또 안됨... 하 모지? 임포트 사이클 낫 얼라우드???? 그냥 따라만 하는데 임포트 사이클이라고 할게 없는데????딸랑 한페이지 복사한건데???? 그렇게 폭풍 검.. 프로그래밍/GO 2021. 3. 29. 좌충우돌 고랭 입문기 나는 일단 비전공자이다. 하지만 2017년에 컴퓨터 학원을 다니고 3개월, 전혀 모르는 php si 회사에 들어가서 무급으로 일했다. 호주에 다녀와서 영어는 대충 읽을줄은 알지만 좀 느리다. 여차저차 해서 프로그래밍을 계속 배우고 싶었는데 처음이 제일 어려운거 같다. 강의는 정말 쉬워보이는데 내가 진정으로 깨달아서 이해하고 코딩을 하기는 쉽지 않은거 같다. 학원다닐때 자바찔끔, 자바스크립트 찔끔, 스프링 찔끔, jsp 찔끔, 아두이노 찔끔... 투자한 시간은 많은데 이해도 다 가는거 같은데 막상 부딪혀보지 않았던 탓일까 내가 할줄 안건 print문 뿐인거 같다. 실습시간때 4명씩 짝을 이뤄 프로젝트를 했는데 우리조는 화상채팅을 구현하는 것이었다. 뭐 이리저리 해보았지만 별것 아닌걸로 막히기 일쑤였고, 나.. 프로그래밍/GO 2021. 3. 27. 이전 1 다음