본문 바로가기
Programming Language/Go

[Go] 정리 - 1

by hwan20c 2024. 3. 29.

go는 내가 원하는 로컬의 위치에 프로젝트를 넣을 수 없다.

정해진 위치(mac인 경우 /users/{userID}/go 밑에) 위치해야 한다.

---------------------------------------------------------

go는 main이 있어야만 컴파일을 한다.

main이 없는 파일들은 대부분 모두가 같이 쓰기 위해 만들어지는 프로젝트이다.

-----------------------------------------------------------

fucction을 export하고 싶으면 go는 대문자로 시작하게 하면 된다.

소문자로 함수이름을 작성하면 저절로 private으로 지정되어서 다른(import가 되는) 곳에서는 사용할 수 없게 된다.

------------------------------------------------------------------------

go에서 상수를 만들때는 const를 사용해서 만들면 된다.

name := "nico"와 var name string = "nico" 는 같은 의미이다.
전자와 같이 쓰면 go가 타입을 찾아준다.

func 밖에서 변수 작성 시에는
var name string = "nico" 이런 식으로 만 작성을 해야 된다. 위의 예의 전자와 같이 작성하면 안 된다.
-> 축약형은 func에서만 가능하다.

-----------------------------------------------------------------------------

go는 다른 언어들과 다르게 하나의 함수의 multiple 리턴이 가능하다.
여러 개의 리턴값을 받을 때 _ 이런 식으로 값을 무시하는 방법을 사용하면 원하는 값만 리턴 받을 수 있다.
...string과 같은 인자값에 대한 문법을 사용하면 여러 값을 한 번에 받아서 배열로 리턴해줄 수 있다.

-------------------------------------------------------------------------------

naked return 이란 
func lenAndUpper(name string) (length int, upppercase string) {
length = len(name)
upppercase = strings.ToUpper(name)
return
}
이런 식으로 리턴값에 변수명을 줘서 변수명에 대한 것들을 재정의 하면 go가 저절로 return을 맞춰준다.


defer 이란
func이 끝났을 때, 추가적으로 무엇인가 동작하도록 할 수 있다.
뭔가를 확실히 끝냈다는 것을 확인할 수 있으므로 디버깅에 아주 효과적이다.

'Programming Language > Go' 카테고리의 다른 글

[Go] 정리 - 2  (0) 2024.03.29

댓글