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
}
MAP
func map_01() { nico := map[string]string{“name”: “nico”, “age”: “30”} fmt.Println(nico) }
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)