go..? go..! 2탄

samdaso-o·2021년 8월 26일
0

Go

목록 보기
2/3
post-thumbnail

go에는 파이썬과 다르게 변수와 상수가 공존하는데,
변수(variables)는 값을 변경 가능하다.
하지만 상수(constants)는 변수지만 값의 변경이 불가능하다.
자 이제 사용을 해보겠다.
go는 var인지 const인지도 선언을 해주어야 하지만, type도 선언을 해주어야 한다.
const로 작성해 내 이름을 출력하는 코드를 하나 적어보겠다.

file_name : main.go

pakage main

import "fmt"

func main() {
const name string = "han"
fmt.Println(name)
}

출력값 : han

만약 const를 선언한 것에서 다시 name을 다시 선언할려고 한다면 에러가 난다. 아래의 코드를 참조할 것.

file_name : main.go

pakage main

import "fmt"

func main() {
const name string = "han"
name = "kim"
fmt.Println(name)
}

출력값 : error

파이썬을 사용하던 나는 지금 타입을 쓸때마다 선언해주어야 한다는 것에 매우 불편함을 느꼈다.
그때 안것이 바로 아래의 코드이다.

file_name : main.go

pakage main

import "fmt"

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

출력값 : kim

':=' 는 축약형으로 타입을 값에 따라 타입을 찾아서 적용시켜준다. 값이 false라면 타입 bool을 자동 적용시켜준다.
만약 축약형으로 변수를 선언한 뒤 변수의 타입과 다른 타입을 다시 선언할려고 하면 에러가 발생할 것이다.

file_name : main.go

pakage main

import "fmt"

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

출력값 : error

또한 ':='는 func() 밖에서 사용이 불가능하다.
만약 밖에서 변수를 선언하고 싶다면,

var name bool = false

위와 같이 선언 변수 타입을 다 선언을 해주면 된다.

profile
ㅎㅅㅎ

0개의 댓글