함수 정의형태
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 |