go언어는 immutable을 지원하지 않는다. 


string의 경우는 새로운 char[]을 생성해서 매번 새로운 문자열을 리턴하도록 한다. 


따라서 var만 있지 val은 없다. 



다음은 예제이다. 

package main

import "fmt"


func main() {

   var a = 1

   fmt.Println(a)

   a = 2

   fmt.Println(a)


   b := 10

   fmt.Println(b)

   b = 20

   fmt.Println(b)


   c := "aaaa"

   fmt.Println(c)

   c = "bbbb"

   fmt.Println(c)

}



결과이다.


1

2

10

20

aaaa

bbbb



go 언어에서 문자열에 대해서 변수 할당을 하지 못하게 하려면 상수 타입인 const를 사용한다. 


func main() {

  const x = "1"

  x = "2"

}





Posted by '김용환'
,