괴발개발 성장기
반응형

Study 139

[golang] 배열 공부하기

# 배열 같은 타입의 여러 값들이 이루는 타입 요소 개수는 고정이라서 늘리거나 줄일 수 없다. 배열의 인덱스는 0부터 시작이다 # 배열 표현 방식 var 변수명 [요소개수]타입 예시 var arr2 [6]int index 0 1 2 3 4 5 값 0 0 0 0 0 0 값을 설정하지 않았을 때 int는 0, string "", bool은 false이다 # 값을 할당하는 방법 var 변수명 [요소개수]타입 = [요소개수]타입{값1, 값2,...} 변수명 := [요소개수]타입{값1, 값2,...} 예시 (string인 경우) var str = [6]string {"월","화","수","목","금"} index 0 1 2 3 4 5 값 월 화 수 목 금 예시 (int인 경우) arr := [5]int{1, 2,..

Study/Go 언어 2022.02.14

[golang] for range 공부하기

여러 타입의 각 요소를 순회하는 구문이다. 배열, 문자열, 슬라이스, 맵 등에서 사용한다 # 기본 구조 for 인덱스, 값 := range 배열,문자열,슬라이스,맵 { fmt.Println("index : ", index, " value : ", value) } 각 요소를 순회하면서 인덱스와 값을 반환합니다. # 인덱스 필요없는 경우 for _, 값 := range 배열,문자열,슬라이스,맵 { fmt.Println("index : ", index, " value : ", value) } 인덱스가 필요없는 경우 _ (밑줄)을 이용하여 사용하지 않는다는 표시를 하면 된다. # 배열 예시 예시 nums := [5]int{1,2,3} for index, value := range nums { fmt.Printl..

Study/Go 언어 2022.02.13

[golang] switch문 공부하기

# 기본 switch문 구조 switch 비굣값 { case 값1: 문장1 case 값2: 문장2 default: 문장3 } 비굣값과 값1이 같을 때 문장1 실행하고 종료됩니다. 비굣값이 값이과 다르면 그 다음 값2를 체크합니다. 값2와 값이 다르면 default 문장이 실행됩니다. default는 생략이 가능합니다. ★ 다른 언어와 다르게 Go언어는 break를 사용하지 않아도 자동으로 switch문을 빠져 나갑니다. 다음 case문으로 가고 싶을 때에는 fallthrough를 사용하면 됩니다. 되도록 사용하지 않길 권장한다고 한다. 예시 today := "sunday" switch today { case "monday", "tuesday", "wednesday","thursday","friday": ..

Study/Go 언어 2022.02.11

[golang] if문 공부하기

# if문 기본 구조 if 조건문 { 문장 } else if 조건문 { 문장 } else { 문장 } 예시 color := "red" if color == "pink"{ fmt.Println("핑크입니다") }else if color == "red" { fmt.Println("빨간색입니다") }else { fmt.Println("이상한색입니다") } 다른 언어와 차이점이 있다면 조건을 쓸 때 ( ) 괄호를 사용하지 않는다. # 중첩 if문 구조 if 조건문 { if 조건문 { 문장 } else if 조건문 { 문장 } } else if 조건문 { 문장 } else { 문장 } 예시 age := 29 if age >=20 && age =20 && age=24 && age=30 && age =30 && ag..

Study/Go 언어 2022.02.10

[golang] 글자 양쪽 공백 제거하는 방법(trim)

# 배경 이름을 등록할 때 앞뒤에 공백이 있어서 제대로 검색이 되지 않는 경우가 있었다. # 사용법 // 양쪽 strings.Trim(문자열, 제거할문자열) //왼쪽만 strings.TrimLeft(문자열, 제거할문자열) //오른쪽만 strings.TrimRight(문자열, 제거할문자열) # 공백제거하는 예시 name := " 유지니 " fmt.Println("미적용 :", name) fmt.Println("왼쪽 trim 적용 :", strings.TrimLeft(name, " ")) fmt.Println("오른쪽 trim 적용 :", strings.TrimRight(name, " ")) fmt.Println("양쪽 trim 적용 :", strings.Trim(name, " ")) # 공백제거하는 예시 ..

Study/Go 언어 2022.01.30

[golang] if문 대신 switch를 쓰는 이유

#배경 회사에서 스터디를 하는데 if문 대신 switch문을 쓰는 이유가 뭐냐고 물어보셨다. 단순한게 if문이 복잡할 때에는 가독성이 떨어지니까 switch문을 사용한다고 생각했다. 근데 switch문이 더 속도가 빠르기 때문이라고 하셨다. 그래서 switch문이 속도가 더 빠른지 테스트를 해봤다. # Code 작성 func CompareIfWithSwitch(month int64) { var season string startSwitch := util.CurrentTimeMillis() fmt.Println("Switch문 시작 : ", startSwitch) for ; month < 100000000; month++ { switch month { case 1, 2, 12: season = "겨울" c..

Study/Go 언어 2022.01.23

[react] react-router-dom 버전6으로 업데이트

react-router-dom가 버전6으로 업데이트 되면서 변화가 많아졌다. 참고자료 https://reactrouter.com/docs/en/v6/getting-started/overview React Router | Overview Declarative routing for React apps at any scale reactrouter.com 나에게 영향이 있는 부분만 정리했다. 1) 가 로 변경되었다. 그리고 component는 방식도 {Main}에서 {} 으로 변경되었다. 변경전 코드 변경후 코드 2) useHistory를 사용했는데 useNavigate으로 변경되었다. 변경전 import React from 'react'; import {Button} from "antd"; import {us..

Study/React 2022.01.18

[golang] go get으로 패키지를 가져올 때 에러 메시지

# 문제점 github에 만든 패키지를 go get으로 가져올 때 에러 메시지가 나오면서 적용이 되지 않았다. # 에러 메시지 go: downloading github.com/YooGenie/validate-check v0.0.0-20220115172739-5c5798d0821b go get: github.com/YooGenie/validate-check@none updating to github.com/YooGenie/validate-check@v0.0.0-20220115172739-5c5798d0821b: parsing go.mod: module declares its path as: validate-check but was required as: github.com/YooGenie/validate-..

Study/Go 언어 2022.01.16
반응형