[Go] 변수와 함수 - 2

Hyeseong·2021년 5월 13일
0

Go Tutorial

목록 보기
2/11

변수와 상수

Go는 상수와 변수개념이 자바스크립트처럼 있어요. 파이썬은 그렇지 않지만.

오늘은 고에서 변수를 어떻게 취급하고 선언하고 하는 등의 것들을 알아 볼건데요.

<방법1>

package main

import "fmt"

func main() {
	var name string = "nico"
	name = "lee"
	fmt.Println(name)
}

<방법2>

package main

import "fmt"

func main() {
	name := "kim"
	name = "lee"
	fmt.Println(name)
}

방법1과 방법2는 동일하게 동작해요. 방법2의 타입은 Go가 일임하여 정해주게되요. 마치 Python과 동일하게 동작하는거조.

방법2를 확장해볼게요. 아래와 같이~~

package main

import "fmt"

func main() {
	name := "kim"
	mom := "mom"
	True := true
	fmt.Println(name, mom, True)
}

만약 사용하지 않는 변수가 있다면 컴파일되지 않기 때문에 프린트로 찍을때 넣어줘야한다는것도 명심!

타입

고랭은 많은 타입을 보유하고 있어요. 아래와 같이.

타입은 함수 선언시에도 필수적으로 사용되는 부분인데요.

<방법3>

<방법4>

매겨변수의 타입을 지정할 때와 그리고 return으로 어떤 타입의 값이 넘어가는지에 대해서도 사용됩니다.
방법3, 방법4의 매개변수 선언 방식이 다르지만 결과는 동일합니다.

<방법5>

정수 타입인 totalLength변수와 string타입인 upperName 변수를 반환하는 lenAndUpper함수가 눈에 띄는데요.
파이썬 3.X 후반대로 진입하면서 type hinting이라는 타입 지원 패키지가 강력하게 내장된 부분과 비슷해보여서 눈에 익네요.

<방법6> 2개의 값을 반환 받을 때 특정 값을 무시하고 싶은 경우_와 같이 특수 문자를 입력해줘도 매우 좋아요.

<방법7>

문자열 매개변수의 타입앞에 ...세개를 찍었조. unlimited arguments입니다. (단, container형식의 동일한 타입이 들어가야 하는 부분이기에 다른 타입이 들어가면 오류 발생한다는 점!)

profile
어제보다 오늘 그리고 오늘 보다 내일...

0개의 댓글