1. 程式人生 > >Go基礎程式設計:格式化輸出、型別轉換、類型別名

Go基礎程式設計:格式化輸出、型別轉換、類型別名

使用fmt包來格式化字串

fmt.Printf()格式字串:

列印格式 含義
%% 一個%字面量
%b 一個二進位制整數值(基數為2),或者是一個(高階的)用科學計數法表示的指數為2的浮點數
%c 字元型。可以把輸入的數字按照ASCII碼相應轉換為對應的字元
%d 一個十進位制數值(基數為10)
%e 以科學記數法e表示的浮點數或者複數值
%E 以科學記數法E表示的浮點數或者複數值
%f 以標準記數法表示的浮點數或者複數值
%g 以%e或者%f表示的浮點數或者複數,任何一個都以最為緊湊的方式輸出
%G 以%E或者%f表示的浮點數或者複數,任何一個都以最為緊湊的方式輸出
%o 一個以八進位制表示的數字(基數為8)
%p 以十六進位制(基數為16)表示的一個值的地址,字首為0x,字母使用小寫的a-f表示
%q 使用Go語法以及必須時使用轉義,以雙引號括起來的字串或者位元組切片[]byte,或者是以單引號括起來的數字
%s 字串。輸出字串中的字元直至字串中的空字元(字串以’\0‘結尾,這個’\0’即空字元)
%t 以true或者false輸出的布林值
%T 使用Go語法輸出的值的型別
%U 一個用Unicode表示法表示的整型碼點,預設值為4個數字字元
%v 使用預設格式輸出的內建或者自定義型別的值,或者是使用其型別的String()方式輸出的自定義值,如果該方法存在的話
%x 以十六進位制表示的整型值(基數為十六),數字a-f使用小寫表示
%X 以十六進位制表示的整型值(基數為十六),數字A-F使用小寫表示
    //整型
    a := 15
    fmt.Printf("a = %b\n", a) //a = 1111
    fmt.Printf("%%\n")        //只輸出一個%

    //字元
    ch := 'a'
    fmt.Printf("ch = %c, %c\n"
, ch, 97) //a, a //浮點型 f := 3.14 fmt.Printf("f = %f, %g\n", f, f) //f = 3.140000, 3.14 fmt.Printf("f type = %T\n", f) //f type = float64 //複數型別 v := complex(3.2, 12) fmt.Printf("v = %f, %g\n", v, v) //v = (3.200000+12.000000i), (3.2+12i) fmt.Printf("v type = %T\n", v) //v type = complex128 //布林型別 fmt.Printf("%t, %t\n", true, false) //true, false //字串 str := "hello go" fmt.Printf("str = %s\n", str) //str = hello go

型別轉換

Go語言中不允許隱式轉換,所有型別轉換必須顯式宣告,而且轉換隻能發生在兩種相互相容的型別之間。

    var ch byte = 97
    //var a int = ch //err, cannot use ch (type byte) as type int in assignment
    var a int = int(ch)

類型別名

    type bigint int64 //int64型別改名為bigint
    var x bigint = 100

    type (
        myint int    //int改名為myint
        mystr string //string改名為mystr
    )