fmt
패키르를 import하지 않아도 기본적으로 콘솔 출력 함수인 print, println함수를 지원해 준다. 이스케이프 시퀀스인 '\n'
을 입력해줘야 한다.코드
package main func main() { var num1 int = 1 var num2 int = 2 print("Hello goorm!") print(num1) print(num2) print(num1 + num2) print("Hello goorm!", num1 + num2,"\n") println("Hello goorm!") println(num1) println(num2) println(num1 + num2) println("Hello goorm!", num1 + num2)> }
출력
Hello goorm!123Hello goorm!3 Hello goorm! 1 2 3 Hello goorm! 3
import
해서 사용해야한다.package main
밑 줄에 impart "fmt"
를 작성해서 이패키지를 사용하겠다고 선언해준다.Printf
함수는 서식 문자를 활용하여 원하는 포맷으로 데이터를 채워서 출력하고자 할 때 사용코드
package main import "fmt" func main() { var num1 int = 1 var num2 int = 2 fmt.Print("Hello goorm!", num1, num2, "\n") fmt.Println("Hello goorm!", num1, num2) fmt.Printf("num1의 값은:%d num2의 값은:%d\n", num1, num2) }
출력
Hello goorm!1 2 Hello goorm! 1 2 num1의 값은:1 num2의 값은:2
var 변수이름 변수형
그리고 변수를 선언한 곳에서 바로 초기값을 설정 가능:=
이를 사용하면 별다른 형 선언 없이 타입 추론이 가능하기에 유용하게 사용된다!var
키워드를 선언해줘야 한다!코드
var a int = 1 var b string = "Hello" c := 1 d := "Hello"
출력
a는 선언과 동시에 1로 초기화
c, d는 오류없이 int와 string이라는 자료형으로 저장
Go에서는 변수를 선언하고 초기값을 설정하지 않으면 'Zero value' 로 설정 자주등장한다!
bool 타입은 false, 숫자 타입은 0, string 타입은 ""(빈 문자열)
Go언어에서는 선언만 하고 쓰지 않았다면 에러가 발생하며 컴파일에 실패
이는 변수, 패키지, 함수 등 모든 선언에서 동일하게 적용
Go언어는 간결하고 가독성이 좋고 코드가 짧다, 그렇기 때문에 이렇게 메모리를 아무 이유없이 차지하는 변수들에 대해 굉장히 단호하다. 그러므로 꼭 쓰이는 변수만 선언해야하며 값을 지울떄는 선언한 모든 부분을 지워줘야한다!
코드
package main import "fmt" var globalA = 5 //함수 밖에서는 'var' 키워드를 입력해야함. // 꼭 형을 명시하지 않아도 됨 func main() { var a string = "goorm" fmt.Println(a) var b int = 10 fmt.Println(b) var d string // "" 공백으로 출력 fmt.Println(d) var e int // 0 으로 출력 fmt.Println(e) f := "short" fmt.Println(f) g := 777 fmt.Println(g) fmt.Println(globalA) }
###- 출력
goorm 10 0 short 777 5
//
한줄을 주석, /* */
는 /*
과 */
사이에 들어간 내용을 라인에 상관없이 전부 주석처리코드
package main import "fmt" func main() { var a, b int = 10, 20 fmt.Println(a, b) i, j, k := 1, 2, 3 // 여러 변수를 같이 사용할 때는 Zero Value 값을 나타내지 않는다! 변수가 3개면 초기값도 3개로 선언해주자! fmt.Println(i, j, k) var str1, str2 string = "Hello", "goorm" fmt.Println(str1, str2) q, w, e := "hi", "nice", "good" fmt.Println(q, w, e) z, x, c := "LEE", "JUNG", 914 //다른 형식도 같이 사용 가능! fmt.Println(z, x, c) }
출력
10 20 1 2 3 Hello goorm hi nice good LEE JUNG 914
int a
와 같이 타입이 먼저 오는데 반해, Go언어는 이름이 먼저오고 그 다음에 타입이 온다.var a string
은 "변수 a는 스트링이다"라고 해석할 수 있기에 더 직관적이다! → var a string
"Variale a is string"