어느정도 Python은 다룰 수 있으니 k8s와 Docker의 기반이 Golang인 만큼 Golang을 통해 k8s의 Controller를 개발하고 싶은 마음이 굴뚝같았다.
생각만해서는 아무것도 못 이루기에 다짜고짜 Golang을 기초부터 배워보고자 한다.
http://golang.site/
주로 위의 사이트를 통해 기초 및 예제들을 보면서 공부하고 있다.
여기서 독특했던점은 go에서 변수를 설정하는 부분이였다.
var i //i라는 변수 설정
var i int // int i라는 변수 설정
var i int = 1 / int i라는 변수에 초기값 1 설정
var i = 1 // go가 추론하여 i라는 int 변수에 초기값 1 설정
var i = "test" // go가 추론하여 i라는 string 변수에 초기값 "test" 설정
var i string = "test" // 위와 동일
func main () {
i := 1 // 함수 내에서는 ":=" 이라는 기호를 통해 "var" 대체 가능
i := "test" // 함수 내에서는 ":=" 이라는 기호를 통해 "var" 대체 가능
i, j, k := "test1", "test2", "test3" // 동시 선언
}
위와 같은 규칙이 있었고, Java를 몰라서 이게 일반적인 부분인지는 모르겠다.
변수와 반대로 상수는 const를 통해 선언하고 있었다.
const c int = 10 // int c는 상수 10 값을 가짐
const c string = "Hi" // string c는 Hi라는 문자열을 가짐
const (
i= "test1" // 동시 선언
j= "test2"
k= "test3"
)
const (
Apple = iota // 0 iota라는 identifier를 사용하면 Apple이 0값을 가지고 아래로 순차적으로 1씩 증가한 값을 가진다.
Grape // 1
Orange // 2
)
위와 같은 식으로 상수를 선언할 수 있다.
뭔가 오랜만에 프로그래밍 언어를 기초부터 공부하니 새로운 기분도 들고 답답한 기분도 든다.
목표를 위해서 꾸준히 빠르게 공부하여 현업에 쓸 수 있도록 화이팅해야겠다.