GoLang

21.10.07 zero values

슈팅스타제제 2021. 10. 7. 21:41

int 나 float64 같은 숫자 타입의 변수 초기값은 0이다. 

boolean 타입의 변수 초기값은 false 이다. 

string 타입의 변수 초기값은 ""이다. 

 

import (
	"fmt"
)

var (
	i int //zero value = 0
	f float64 //zero value = 0
	b bool //zero value = false
	s string //zero value = ""
)

func main() {
	fmt.Printf("int의 zero value: %v\n", i)
	fmt.Printf("float64의 zero value: %v\n", f)
	fmt.Printf("boolean의 zero value: %v\n", b)
	fmt.Printf("string의 zero value: %q\n", s)
}

/*
=> console
int의 zero value: 0
float64의 zero value: 0
boolean의 zero value: false
string의 zero value: ""
*/

 

✔출력 함수 차이점 

fmt.Println: 문자열을 포맷팅하여 출력해주는 함수이다. 하나의 Println을 기점으로 다음 줄에 표시된다. 

fmt.Printf: 문자열을 포맷팅하여 출력해주는 함수이다. Println과 같은 역할을 하지만

변수값을 나타내기 위해서는 %v와  새로운 줄에 입력하기 위해서는 \n 을 입력해야 Println과 같이 나타낼 수 있다. 

func main(){
	fmt.Println("int의 zero value: ", i) //result: int의 zero value:  0
	fmt.Printf("int의 zero value: %v\n", i) //result: int의 zero value:  0
}

 

%v 와 %q 의 차이점 

%v: 변수에 대한 값을 출력하고

%q: 문자열을 쌍따옴표로 묶어서 출력한다. 

 

참고문서 링크: 

Stack overflow <Println vs Printf vs Print in Go>

https://stackoverflow.com/questions/53879154/println-vs-printf-vs-print-in-go

 

Println vs Printf vs Print in Go

I come from a land of JS and have mostly used things like console.log or console.error Now, the tutorial I am following, the instructor over there did something like this package main import "fm...

stackoverflow.com

문자열 포맷팅

https://mingrammer.com/gobyexample/string-formatting/

 

Go by Example: 문자열 포맷팅

Go는 printf 전통에서 문자열 포맷팅을 훌륭하게 제공합니다. 여기에 일반적인 문자열 포맷팅 예시가 몇 가지 있습니다. type point struct { x, y int } Go는 일반적인 값들을 포맷팅 하기 위해 설계된 몇

mingrammer.com