>  기사  >  백엔드 개발  >  golang 자리 표시자를 완전히 이해하기 위한 기사 1개

golang 자리 표시자를 완전히 이해하기 위한 기사 1개

藏色散人
藏色散人앞으로
2023-03-16 15:47:022621검색

이 글은 golang에 관한 관련 지식을 제공합니다. 주로 golang의 자리 표시자에 대해 설명합니다. 관심 있는 친구들이 꼭 읽어 보시기 바랍니다.

golang 자리 표시자를 완전히 이해하기 위한 기사 1개

xdm, C/C++ 언어를 작성할 때 %s, %d, %c, %p 등과 같은 형식 제어 문자가 있습니다.

golang을 작성할 때 해당 형식 제어도 있습니다. 자리 표시자라고도 하는 문자를 작성하려면 이에 해당하는 데이터가 필요합니다.

기본적으로 일반적으로 사용되는 자리 표시자

  • %s
  • %d
  • %v , %v+ , %+v
  • %T , %q

위 자리 표시자의 효과와 모양을 보려면 데모를 작성하세요

type Animal struct {
    hobby string
}

func main() {

    name := "xiaomotong"
    age := 19
    hh := Animal{"basketball"}

    fmt.Printf("name = %s , age = %d , hh = %v\n\n", name, age, hh)
    fmt.Printf("hh = %+v , hh= %#v\n\n", hh, hh)
    fmt.Printf("name = %T , age = %T , hh = %T\n\n", name, age, hh)
    fmt.Printf("%q", 0x8989)
}

위 코드의 실행 효과

# go run main.go
name = xiaomotong , age = 19 , hh = {basketball}

hh = {hobby:basketball} , hh= main.Animal{hobby:"basketball"}

name = string , age = int , hh = main.Animal

'覉'

위의 효과에서 볼 수 있습니다.

%q는 Go 구문으로 안전하게 이스케이프된 작은따옴표로 둘러싸인 문자 리터럴을 나타냅니다. xdm에 관심이 있다면 인쇄 및 디버깅을 시도하여 확인할 수 있습니다. 효과

$s는 문자열을 나타냅니다.

$d는 10진수를 나타냅니다.

%v는 기본 형식을 나타냅니다.

%+v는 구조가 인쇄될 때 해당 필드 이름이 추가됨을 나타냅니다.

%#v는 해당 데이터 구조의 골랭 언어를 나타냅니다. 상황을 표현합니다.

덜 일반적으로 사용되는 자리 표시자

  • %t
  • %b
  • %c
  • %U , %# U

계속해서 데모를 작성하여 효과를 확인하세요. 기하학:

func main() {
    a := true
    num := 88
    uni := 0x8989

    fmt.Printf("%t\n", a)
    fmt.Printf("%b\n", num)
    fmt.Printf("%c\n", 0x8989)
    fmt.Printf("uni = %U , uni = %#U\n", uni, uni)
}

위의 코드 실행 효과는 다음과 같습니다.

# go run main.go
true
1011000
覉
uni = U+8989 , uni = U+8989 '覉'

위의 효과에서 볼 수 있습니다.

%t는 부울 자리 표시자를 나타냅니다.

%b는 이진 데이터를 나타냅니다.

% c는 해당 유니코드 코드 포인트가 나타내는 문자를 나타냅니다.

%U는 데이터가 유니코드 형식 사양으로 변환될 수 있음을 의미합니다. 즉,

%#U 시작 +를 사용하면 데모에서 데이터가 해당 유니코드 문자로 변환될 수 있음을 의미합니다. 텍스트는

기본 및 자리 표시자를 사용하는 부동 소수점

  • %2d , %07d
  • %x , %#x 입니다.
  • %f , %.3f
func main() {
    num := 888
    fNum := 888.99

    fmt.Printf("num = %2d , num = %07d\n", num, num)
    fmt.Printf("num = %x , num = %#x\n", num, num)
    fmt.Printf("num = %f  , num = %.3f\n", fNum, fNum)
}

위 코드 실행 효과는 다음과 같습니다.

# go run main.go
num = 888 , num = 0000888
num = 378 , num = 0x378
num = 888.990000  , num = 888.990

위 효과에서 알 수 있습니다.

%2d는 총 2자리를 의미합니다. 2자리 미만인 경우 앞에 0을 추가합니다.

%07d는 총 7자리를 의미하며, 7보다 작으면 숫자 앞에 0이 옵니다.

%x는 16진수를 나타내며 모두 소문자입니다.

%#x 16진수를 나타내고, 0x

%f 앞에 0x

%f가 붙어 부동 소수점형 데이터를 나타내며, 기본값은 소수점 이하 6자리 유지

%.3f는 부동 소수점형 데이터를 나타내며, 소수점 3자리 유지

  • Pointer placeholder
  • %p

%#p

func main() {
    ptr := "xiaomotong"
    fmt.Printf("ptr = %p , ptr = %#p\n", &ptr, &ptr)
}

위 코드가 실행됩니다. 효과는 다음과 같습니다.

# go run main.go
ptr = 0xc42000e1e0 , ptr = c42000e1e0
%p는 16진수 포인터 주소를 나타내며 0x

이 됩니다. %#p는 16진수 포인터 주소를 나타내며 0x는 없습니다[관련 권장사항:
Go video Tutorial

]                                                                 

위 내용은 golang 자리 표시자를 완전히 이해하기 위한 기사 1개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제