Go

Go

[Go] append와 가비지 컬렉터의 관계 & if, switch문 알아보기

오늘은 Go의 배열, if문, Switch문을 알아봅시다! 배열 package main import "fmt" func main() { names := []string{"nico", "lyn", "dal"} names = append(names, "flynn") fmt.Println(names[2]) } 배열 선언 방식은 다음과 같습니다 names := []string{~}을 통해 문자열 배열을 만들어 줬습니다 그리고 ppend를 통해 "flynn"을 배열에 추가해주었구요 그런데 여기서 append("flynn)만 적는다면 오류가 됩니다 names = append(어디에 append(추가)할 것인가, "무엇을 추가할 것인가?") (참고 append는 맨 뒤에 값을 넣어준다) 또 여기서 중요한 점은 app..

Go

[Go] $GOPATH/go.mod exists but should not 오류

Go언어 공부를 하다가 이런 오류를 만났다.. 분명 직전 코드까지 잘 실행되다가 어찌저찌 검색하다 go mode tidy라고 입력하면 된다고해서 했는데 계속 저런다. 이유는 GOPATH (터미널에 "go env" 라고 타이핑할시 GOPATHE등 많은 정보가 나옵니다) 로 지정한 곳에 go.mod 파일이 있으면 안되는다는 것! 해결한 방법은 GOPATH로 등록된 폴더에 go.mod가 있길래 rm go.mod로 go.mod파일을 지우고 src안에 현재 작업할 or 분기하지 않은 폴더 즉 main 폴더에 go mod init으로 go.mod를 만들어줬더니 해결이 됐다 나는 이렇게 넣어다. 다행이 참고할 자료가 하나 있어서 금방해결했다.. 참고한 자료 https://velog.io/@artelee/%EC%98%..

Go

[Go] Go의 특별한 인자값 전달

오늘은 Go의 인자값 전달과 어떤 형식으로 인자의 값들을 받고 형식을 지정하는지 그리고 중요한 키워드 defer에 대해 알아보겠습니다 인자값 전달 & 받기 코드부터 먼저 보겠습니다 package main import "fmt" func multply(a int, b int) int { return a + b } func multply2(a , b int) int { return a + b } func main() { fmt.Println(multply(1, 9)) } 위 처럼 두가지 형식이 가능합니다 원래 알고 있던 언어들에 type 지정과 다르게 변수 뒤에 type을 지정해줍니다 보이듯이 func앞에 type을 지정하는 게 아닌 func에도 뒤에 type을 지정해줍니다 multply2처럼 묶을수도 있구..

Go

[Go] Main Package와 접근 제한자 & 변수

오늘은 Go의 Main Package에 대해 다뤄보도록 하겠습니다 이 글은 NomadCoders의 영상을 보고 정리한 글입니다. 우리가 원래 알고있던 언어들의 main의 역할은 시작점이라는 것입니다. 모든 언어가 그렇듯이 Go도 특별하지는 않습니다 main이 시작점이죠 C에서 헤더의 를 사용하듯이 Go에서는 아래처럼 사용할 뿐입니다 Main package main import ( "fmt" ) func main() { fmt.Println("Hello Wrold") } 하지만 오픈소스를 만든다면 컴파일을 하지 않고 다른사람들과 같이 쓰기 때문에 main.go는 필요가 없겠죠? main는 이렇듯 컴파일을 위해서 필요한 것입니다! 그리고 출력문을 작성하기 위해서는 fmt.Println("~"을 타이핑하는데 ..

Sleeg
'Go' 카테고리의 글 목록 (2 Page)