함수 정의형태

func Add(a int, b int) int {
    return 
}
  • {키워드} {함수이름}(파라미터 명, 파라미터 자료형) {반환형} 으로 구성

 

package main

import "fmt"

func Add(a int, b int) int {
    return a+b 
}

func main() {
    c:= Add(3,6)
    fmt.Println(c)

}
package main

import "fmt"

func Divide(a, b int) (result int, success bool) {
    if b == 0 {
        result = 0
        success = false
        return
    }
    result = a / b
    success = true
    return
}

func main() {
    c, success := Divide(9, 3)
    fmt.Println(c, success)

    d, success := Divide(9, 0)
    fmt.Println(d, success)
}
  • 이런식으로 반환형에 return 되는 반환변수도 넣을수 있다.

 

 

상수정의형태

const Constvalue int = 10
  • {키워드} {상수}{자료형} = {값}

 

package main

import "fmt"

const PI = 3.14

func main() {
    const a int = 10
    var b int = PI * 100

    fmt.Println(a, b)

}
  • const 도 마찬가지로 타입생략가능

 

 

if, else, else if

성공

package main 
import "fmt"

func main() {
    light := "red"

    if light == "green" {
        fmt.Println("길 건너기")
    } else {
        fmt.Println("대기")
    }
}
  • if, else 로 구성되어있는데 이건 성공

 

에러

package main 
import "fmt"

func main() {
    light := "red"

    if light == "green" {
        fmt.Println("길 건너기")
    }
    else {
        fmt.Println("대기")
    }
}
  • 이건 실패. else 가 무조건 if 괄호끝에 있어야하나봄…

 

 


package main

import "fmt"

func main() {
    light := "red"

    if light == "green" {
        fmt.Println("길 건너기")
    } else if light == "yellow" {
        fmt.Println("기다려볼까")
    } else {
        fmt.Println("대기")
    }
}

 

else if 도 동일

 

and, or

package main

import "fmt"

func main() {
    var age = 22

    if age >= 10 && age <= 15 {
        fmt.Println("a")
    } else if age > 30 || age < 20 {
        fmt.Println("b")
    } else {
        fmt.Println("c")
    }
}
  • and 를 && 로 사용
  • or 를 || 로 사용

 

 

for loop

문법

for 초기문; 조건문; 후처리{
    조건문이 true  경우 수행
}

 

생략가능 

#초기문 생략 
for ; 조건문 ; 후처리 {

}

#후처리 생략
for 초기문 ; 조건문 ; {

}

#초기문, 후처리 생략1
for ; 조건문 ; {

}

#초기문, 후처리 생략2
for 조건문 {   

}

 

 

for loop

package main

import "fmt"

func main() {
    for i := 0; i < 10; i++ {
        fmt.Print(i, ", ")
    }
}

 

 

range

package main

import "fmt"

func main() {
    for i := range 10 {
        fmt.Print(i)
    }
}
  • range 뒤에 숫자로 0<10 까지 루프가능

 

'Cloud > GO' 카테고리의 다른 글

GO 기본문법 : 변수, 상수  (0) 2024.09.23
GO 빌드 및 실행 예제  (0) 2024.09.23
jjongguet