kok202
[2019.03.08] Go lang (기본 - 타입, 함수, 포인터, 루프)

2019. 3. 8. 10:37[공부] 영상/GoLanguage

Hello world

package main

import "fmt"

func main(){
    fmt.Println("Helloworld")
}








패키지 임포트

package main

import "fmt"
import "math"


func main() {
    fmt.Println("root 4 : ", math.Sqrt(4))
}


package main

import "fmt"
import "math/rand"

func main(){
    fmt.Println("random : ", rand.Intn(100))
}








변수

package main

import "fmt"

func add(x float64, y float64) float64{
    return x+y
}

func main(){
    var num1 float64 = 1.3
    var num2 float64 = 2.4
    fmt.Println(add(num1, num2))
}


이래도 된다. (1)

func main(){
    var num1, num2 float64 = 1.3, 2.4
    fmt.Println(add(num1, num2))
}


이래도 된다. (2)

func main() {
    num1, num2 := 1.3, 2.4
    fmt.Println(add(num1, num2))
}








문자열

package main

import "fmt"


func add(str1, str2 string) string {
    return str1 + str2
}

func main() {
    str1, str2 := "hello", "world"
    fmt.Println(add(str1, str2))
}








포인터

package main

import "fmt"

func main() {
    num1 := 100
    addrNum1 := &num1
    fmt.Println(num1)
    fmt.Println(*addrNum1)
    fmt.Println(addrNum1)
}






- 타입

int

float32

float64

string

- 앞에 var가 붙는 이유는 const와 구분 짓기 위해서다.

var num1 int = 5

const num1 int = 5

통일성을 주고자 그런듯

- := 연산자로 타입을 자동으로 맞춰준다.

- 실수는 타입을 적지않으면 float64 로 적용된다.

- multi return을 지원한다.

- 타입 캐스팅은 파이썬과 유사하다 float64(num1)

- 포인터를 지원한다.








루프

package main

import "fmt"

func main() {
    for i := 0; i < 5; i++ {
        fmt.Println(i)
    }

    j := 0
    for j < 10 {
        if j >= 5 {
            break
        }
        fmt.Println(j)
        j++
    }
}