2020-10-16 Golang Tutorial 변수
배경
- 평소 golang에 대해서 듣긴했지만 자세히 들여다 보진 않았다. 디스커버리 go 책이 있어서 책을 보면서 간단하게 golang문법을 정리해본다.
Go Lang
- 특징
- 빠른 컴파일
- GC지원
- 정적자료형이지만 동적프로그래밍을 하는 느낌
자료형, 변수
-
Go는 자료형을 정적으로 검사한다.
-
자료형을 미리 선언하고 값을 할당하는 번거로움을 벗어나 자료형 추론 기능도 지원한다.
-
변수선언
-
var x int // 변수 선언 var x int = 10 // 변수할당 var arr [5] int func(int, int) // 정수 2개를 인자로 전달 func(int) int // 정수 인자를 받고 정수를 반환 func(int, func(int, int)) func(int) int // 정수와, 2개의 정수를 받는 함수를 받고, 정수 하나를 받고 정수 하나를 반환하는 함수
-
-
자료형 추론 : Go에서는 자료형이 무엇인지 추론할 수 있는 경우 자료형을 안써도 된다.
-
var i = 10 var p = &i // i의 주소값을 p에 저장 // var도 생략가능 i := 10 // i는 새로운 정수형 변수 p := &i // s는 새로운 문자열 변수 i = 20 // i의 값을 변경 j = 30 // 불가능, j는 선언되있지 않다 i = "hello" // 불가능, i는 이미 정수형 i := 30 // 불가능, i는 이미 선언됬다. i := "hi" // 불가능, 이미선언됬고 정수형
-
-
함수와 간단한 제어구조
-
package main import "fmt" fun fac(n int) int { if <= 0 { return 1 } return n * fac(n-1) } func facItr(n int) int { result := 1 for n > 0 { result *= n n-- } return result } func facItr2(n int) int { result := 1 for i := 2; i <= n; i++ { result *= i } } func main() { fmt.Println(fac(5)) }
느낀점
-
-
아직까지는 문법이기 때문에 어떤 부분이 좋다 안좋다는 모르겠다. 자바, C에서는 “int var”과 같이 자료형-변수이름이였는데, 고랭에서는 변수이름-자료형이라 순서가 헷갈리긴한다. 차근차근 2,3,4장을 보면서 고랭문법을 익혀봐야겠다.
Written on October 16, 2020