go lang
[golang] go 언어는 not immutable 언어이다. (string 제외)
'김용환'
2017. 8. 29. 20:00
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"
}