nomad_Coin
nomad_Coin study
노마드코인 스터디 Rough
상수 및 변수 **
상수선언 const name string = "nico" 변수선언 var name string = "nico" 변수선언 var name:= "nico"
함수
-
func 함수명(입력 파라미터) (전달 파라미터)
-
형식 1
func func_01(name string) (int, string) { return len(name), strings.ToUpper(name) } func func_02(name string) int { return len(name) }
func Fn_Afunc_03(name string) (length int, uppercase string) { length = len(name) uppercase = strings.ToUpper(name) return }
반복문
func for_01(numbers ...int) { for number := range numbers { fmt.Println(number) } } func for_02(numbers ...int) { for index, number := range numbers { fmt.Println(index, number) } }
func for_03(numbers ...int) { for i := 0; i < len(numbers); i++ { fmt.Println(numbers[i]) } }
IF
func if_01() { age := 23 if age < 23 { fmt.Println(age) } } func if_02() { if age2 := 23; age2 < 23 { fmt.Println("age21 ==========") fmt.Println(age2) } fmt.Println("age22")
// if 문 밖에서 변수 호출 불가능
fmt.Println(age2)
}
SWITCH
func swith_01() { age := 30 switch age {
case 10:
println(10)
case 20:
println(20)
case 30:
println(30)
}
}
func swith_02() { age := 30 switch { case age == 10: println(10) case age == 20: println(20) case age == 30: println(30) } }
ARRAY
func array_01() { names := [5]string{"aaa", "bbb", "ccc"} fmt.Println(names) // [aaa bbb ccc ]
names[3] = "ddd"
names[4] = "eee"
// names[5] = "fff" : 오류 발생
}
func array_02() { names := []string{"aaa", "bbb", "ccc"} fmt.Println(names) // [aaa bbb ccc ]
// names[3] = "ddd" : 오류 발생
// append(names, "ddd") : 오류 발생
names = append(names, "ddd")
fmt.Println(names)
// [aaa bbb ccc ddd]
}
POINTER
func pointer_01() { a := 2 b := 3
fmt.Println(a, b)
// 2 3
// 메모리 포인터 주소 출력
fmt.Println(&a, &b)
// 0xc000014098 0xc0000140b0
fmt.Println(a + b)
}
func pointer_02() { a := 2 b := &a
fmt.Println(a, b)
// 2 0xc0000140f0
// 메모리 포인터 주소 출력
fmt.Println(&a, &b)
// 0xc000014098 0xc0000140b0
}
func pointer_03() { a := 2 b := &a
fmt.Println(a, &a, b, &b)
// 2 0xc0000140f8 0xc0000140f8 0xc000006038
*b = 20
fmt.Println(a, &a, b, &b)
// 20 0xc0000140f8 0xc0000140f8 0xc000006038
// 메모리 값을 볼때는 *
fmt.Println(a, &a, *b, &b)
// 20 0xc0000140f8 20 0xc000006038
}
func map_01() { nico := map[string]string{"name": "nico", "age": "30"} fmt.Println(nico) } MAP
STRUCTS
func struncts_01() { favFood := []string{"김치", "라면"} nico := person{"nico", 22, favFood} fmt.Println(nico) // {nico 22 [김치 라면]} }
func struncts_02() { favFood := []string{"김치", "라면"} nico := person{name: "nico", age: 22, favFood: favFood} fmt.Println(nico) // {nico 22 [김치 라면]} fmt.Println(nico.name) // nico }
Printf / Sprintf
Printf Sprintf : 콘솔에 출력하지 않고 string 을 return
HASH
B1 : b1Hash = (data + "") B2 : b2Hash = (data + b1Hash) B3 : b3Hash = (data + b2Hash)