GO 언어 문법 (노마드 강의) #1

2022. 3. 30. 10:2099. 정리전 - IT/01. GO LANG

!!! 이것만 알면 나도 GOPHER !!!

01. 상수 const name string = "a" 
    변수   var name string = "a"
    function 내에서는 축약 가능 name := "a"
 
02. 복수 형태의 return
    int와 string을 동시에 리턴함
    func test (a, b int) (int, string) {...}
 
03. 무제한 파라미터
    test("a", "b", "c", "d", "e");
    func test (a ...string) { ... }
 
04. naked return
    리턴값의 변수명을 function선언시에 지정하여 return 시에는 return 문장만 사용함
    
05. defer
    function 이 끝나고 난 직후 실행함, 파일을 닫는던지 등에 사용함
    
06. for idx, num := range numArr{ ... 
 
07. koreanAge := age+2
    if koreanAge < 18 { return true }
    위 두줄을 if-else에서 사용하는 베리어블 익스프레션으로 바꾸면
 -> if koreanAge := age+2; koreanAge < 18 { return true }
 
08. 포인터

& : 주소 * : 주소에 담긴 값을 살펴봄 주소에 *를 쓰고 주소에 담긴 값을 변경할 수 있음
a := 2      
b := &a     
            
Print(a, *b)
      2   2 
a := 2   
b := &a  
a  = 5   
Print(*b)
       5 
 a := 2  
 b := &a
*b  = 8
 Print(a)
       8 

  
09. array -> a := [5]string{"b","c","d"}
    slice -> a := []string{"b","c","d"}  append{a, "e"}
   
10. a := map[string]int{"b":1, "c":2}
    for key, val := range a { fmt.Print(val) }
    
11. type p struct {
       a string
       b int
       c [] string
    }
    d := a{a: "a", b:1, c:arr}