π»/νλ‘κ·Έλλ°
[Go] Go for Beginners
ruhz
2021. 11. 30. 11:32
μ½κ³ λΉ λ₯Έ Go μμνκΈ° – λ Έλ§λ μ½λ Nomad Coders
Learn Go Fast
nomadcoders.co
μμ νκ²½μ C:\Goμ bin src pkg ν΄λλ₯Ό μ¬μ©νλ€(κΆμ₯).
- Goλ ν¨μμ 첫 κΈμκ° λλ¬Έμ/μλ¬Έμ μΈμ§λ‘ public/privateμ ꡬλΆνλ€.
- νμ μΈμ΄μ΄κΈ° λλ¬Έμ, κΈ°λ³Έμ μΌλ‘ νμ μ λͺ μν΄μ€μΌ νμ§λ§, ν¨μ μμμ ':=' κΈ°νΈλ₯Ό μ¬μ©νλ©΄ μμμ μ€μ νλ€.
- νλμ ν¨μκ° λ€μν μλ£νμ λ°ννλ€.
- μ μΈν λ³μλ₯Ό μ¬μ©ν μ μ΄ μλ€λ©΄ μλ¬λ₯Ό μΆλ ₯νλ€.
- ν¨μμμ "naked" return(ν¨μ μ μΈ μ λ°νν νμ κ³Ό ν¨κ» λ³μ λͺ μ κ°μ΄ μ μΈ), defer(ν¨μ μ’ λ£ ν μ€νλλ μ½λ) λ±μ κΈ°λ₯μ μ¬μ©ν μ μλ€.
λ°λ³΅λ¬Έ
nubmers := [5]int{1, 2, 3, 4, 5}
// 1. μΈμ νλμΈ κ²½μ° μΈλ±μ€λ₯Ό λ°ν
for index := range numbers {
fmt.Println(index)
}
// 2. μΈμ λκ°μΈ κ²½μ° μΈλ±μ€μ κ°μ λ°ν
for index, number := numbers {
fmt.Println(index, number)
}
// 3. κ°λ§ λ°ννλ κ²½μ°
for _, nubmer := numbers {
fmt.Println(number)
}
// 4. λ€λ₯Έ ννμ λ°λ³΅λ¬Έ
for i := 0; i < len(numbers); i++ {
fmt.Println(numbers[i])
}
쑰건문
numbers := [5]int{1, 2, 3, 4, 5}
fmt.Println(numbers)
for _, number := range numbers {
// 1. κΈ°λ³Έ 쑰건문 νμμ λ€μκ³Ό κ°λ€.
if number%2 == 0 {
fmt.Println(number)
}
// 2. Goλ if λ¬Έμ λ³μλ₯Ό μ μΈν΄ μ¬μ©ν μ μλ€.
if doubledNumber := number * 2; doubledNumber >= 10 {
fmt.Println(number)
}
// 3. Switch λ¬Έ μμ λ³μλ₯Ό μ μΈν΄ μ¬μ©ν μ μλ€.
switch oe := number % 2; oe {
case 0:
fmt.Println("Even!")
break
case 1:
fmt.Println("Odd!")
break
}
// 4. Switch λ¬Έμ λ€μκ³Ό κ°μ΄ νμ©λ κ°λ₯νλ€.
switch {
case number%2 == 0:
fmt.Println("Even!")
break
case number%2 == 1:
fmt.Println("Odd!")
break
}
}
ν¬μΈν°λ Cμ λκ°λ€. &μΌλ‘ μ£Όμκ°, *λ‘ μ£Όμκ°μ΄ κ°λ¦¬ν€λ κ³³μ μ κ·Ό
- λ°°μ΄μ μ μΈ μμλ λ€μκ³Ό κ°κ³ , ν¬κΈ°λ₯Ό λͺ μνμ§ μμ λ°°μ΄μ μ¬λΌμ΄μ€λΌκ³ λΆλ₯Έλ€.
- νμ΄μ¬μ λμ λ리 κ°μ΄ key, valueλ‘ μ΄λ£¨μ΄μ§ λ§΅λ μλ€.
- ꡬ쑰체λ λ€λ₯Έ μΈμ΄μ λ€λ₯΄κ² μμ±μκ° λ°λ‘ μλ€.
// λ°°μ΄, μ¬λΌμ΄μ€
saladArray = [5]string{"CHICKEN", "CARROT", "MUSHROOM"}
internArray = []string{"inseok", "jiwoong"}
internArray = append(internArray, "hyungju")
// λ§΅
saladMaps = map[string]int{"CHICKEN":3, "CARROT":12, "MUSHROOM":5}
// ꡬ쑰체
type salad struct {
name string
calories int
price int
}