본문 바로가기

고랭6

[golang]고언어 고루틴이란? 오늘은 고언어(golang)의 고루틴(gorutine)에 대해 알아보겠습니다 ! | Goroutine 고루틴 - 타 언어의 쓰레드(Thread)와 비슷한 기능 - 생성 방법 매우 간단, 리소스를 매우 적게 사용한다. - 수 많은 고루틴 동시 생성 실행 가능 - 비동기적 함수 루틴 실행(매우 적은 용량 차이) -> 채널을 통한 통신 가능 - 공유 메모리 사용 시 정확한 동기화 코딩이 필요함. - 싱글 루틴에 비해 항상 빠른 처리 결과는 아니다. 멀티 쓰레드의 장점 및 단점 장점 - 응답성 향상 - 자원 공유를 효율적으로 활용 & 사용 - 작업이 분리되어 코드가 간결하다. 단점 - 구현하기 어려움 - Test & 디버깅이 어렵다. - 전체 프로세스의 side effect - 성능 저하, 동기화 코등 반드시 .. 2021. 7. 28.
[golang]Go언어 Map에 대해 알아보자 이번에는 Map에 대해 알아봅시다 ! 타 언어 ex) java 같은 경우에는 hash, linked ... 기타 등등 Map이 존재한다. 역시 Go 에서도 Map을 pakage에서 제공한다 ! 살펴보자 | MAP 특징 -Hashtable, 딕셔너리(파이썬), Key - Value 로 자료 저장 -레퍼런스 타입(참조 값 전달)이다. -비교 연사자 사용 불가능 ( 참조 Type 이므로) -참조 Type(key)로 사용 불가능, 값(Value)으로 모든 타입 사용가능하다. -make 함수 및 축약(리터럴)로 초기화 가능 -순서 없음 ( 주의 실행할 때 마다 값이 바뀝니다,) 문법 //기본 값 key : string(""), value : int (0) var map1 map[string]int = make(m.. 2021. 7. 5.
[golang]Golang 배열(Array) 다루기 | Go언어 배열(Array) 배열과 slice의 관계 - 배열은 용량, 길이 항상 같다 - 배열 vs 슬라이스의 차이점을 알아야한다 - 길이고정 vs 길이가변 - 값 type vs 참조 type - 복사 전달 vs 참조 값 전달 - 전체 비교연산자 사용가능 vs 비교 연산자 사용 불가 - 대부분 슬라이스를 사용한다 - 대표적으로 cap() & len() 메서드가 존재한다 cap : 배열, 슬라이스 용량 len : 배열, 슬라이스 개수 - 참고 사이트 더보기 Go Slices: usage and internals - The Go Blog Andrew Gerrand 5 January 2011 Introduction Go's slice type provides a convenient and efficient.. 2021. 7. 4.
[golang]Golang 문자열 연산과 결합 | 문자열 자르기 -go언어에서는 문자열 자르기를 " : " 기준으로 자른다. -":"를 명시하지 않고 일단 index 번호를 적는 경우 아스키 코드값이 출력된다. -":" 앞뒤로 index 번호를 하나 씩 적은 경우 아래와 같이 사용한다. ex) str1[3:] -> 시작 index : 3 부터 시작. str1[:3] -> 시작 index : 0 부터 시작, 3-1 = 2 번째 index에서 종료 문법 문자열[시작index, 마지막 index-1] 예시 var str1 string = "golang" // ":" 를 이용하여 splice 처리를 하면 문자열을 갖고온다. // index 번호만 입력하면 해당하는 index의 코드값인 정수형 값을 가져온다. fmt.Println("ex1 : ", str1[.. 2021. 7. 4.
[golang]문법 정리 1.golang에서는 후위 연산자만 가능하다. ( 전위 연산자 비허용 ) ex) 예시 1) i++ (O) i-- (X) 예시 2) for i 2021. 7. 1.
[golang]Go언어란 뭐지 ? Go언어 환경변수 등록 이번에 회사에 들어가게 되면서, 회사는 go언어를 backend로 사용하는 거 같으니 인프런에서 인강을 바로 끊고 학습해보았다. 먼저 golang(고언어)에 대해 알아보자 Go언어란? 왜 태어났지? Go 언어는 구글이 개발한 언어로 빠른 성능과 안정성 & 편의성 & 쉬운 프로그래밍을 목적으로 탄생했다. 그래서 뭐가 좋아서 사용하는건데 ? 더보기 매우 간단한 문법으로 배우기 쉬습니다. loop 문법으로 while이 없고 오직 for만 있습니다. class 문법이 없습니다. 더보기 정적타입 / 강타입 언어입니다. 더보기 컴파일속도가 빠른 컴파일 언어입니다. 컴파일 속도가 빨라서 인터프리터 언어처럼 쓸 수 있습니다. 더보기 속도가 빠릅니다. 여러분이 Go로 알고리즘 문제를 해결한다면 다른 언어와 비교할 수 없.. 2021. 7. 1.