1. 程式人生 > >go 語言學習九 - String()

go 語言學習九 - String()

type var div {} can poi turn 定義 highlight

package main

import "fmt"

func main() {
/*
	一個類型如果定義了指針接收者的String方法: func (p *Type) String() string {}
	 打印這個類型的指針時會調用,
	 打印這個類型的值時不會調用。
 */
	var x Xint = 123
	fmt.Println(x) // 123
	fmt.Println(&x) // can not print Xint point.

/*
	一個類型如果定義了值接收者的String方法: func (p Type) String() string {}
	打印這個類型的變量的值和指針都會調用
 */ 
	
	var y Yint = 123
	fmt.Println(y) //can not print Yint.
	fmt.Println(&y) //can not print Yint.
	
}

type Xint int

func (x *Xint) String() string {

	return "can not print Xint point."
}

type Yint int

func (x Yint) String() string {
	
	return "can not print Yint."
}

go 語言學習九 - String()