入門:基礎語法(一)變數的定義使用
一、簡單進入一個hello world
package main import "fmt" func main() { fmt.Println("hello world!") }
1.package main是將本檔案打包成main包,一個程式有且只有一個main包 ;
2.import是該檔案下所需的“依賴的包”,這裡我們所需以來的包是fmt,所需“依賴”的函式是Println()。golang中都是通過包.函式來進行函式呼叫的;
3.一個程有且只有一個main()函式
二、變數的定義
######(一)使用var關鍵字進行定義
func variableTypeDeduction() { var a, b = 3, 4 var c, d, e = 1, "hello", true var aa int = 111 fmt.Println(a, b, c, d, e, aa) fmt.Printf("a Type is %T\n", a) fmt.Printf("b Type is %T\n", b) fmt.Printf("c Type is %T\n", c) fmt.Printf("d Type is %T\n", d) fmt.Printf("e Type is %T\n", e) }
我們可以使用var aa int = 111的類似寫法,也可以使用var a,b = 3,4
######(二)使用:=定義並初始化變數
func variableShortDeduction() { a, b := 1, "六六六" fmt.Println(a) fmt.Println(b) }
總結:變數定義一般使用:=的方式定義,簡單易懂!當我們在函式體外定義的變數(包內部變數,不是全域性變數)的時候只能用var關鍵字定義
三、變數的初始化
func variableZreoValue() { var a int var b string var bo bool fmt.Printf("a-%d b-%q bo-%t\n", a, b, bo) }
可以看到,int的初始化的值是0,string的初始化的值是空串(""),bool的初始化的值是false
四、拓展fmt.Printf()函式
我們格式化的輸出可以用fmt.Printf()函式進行,其函式定義為:
func Printf(format string, a ...interface{}) (n int, err error)
當然,這裡有一個很重要的地方,就是我們的format string引數,我們必須使用系統提供的,以下是引數列表
(一)通用:
%v值的預設格式表示
%+v類似%v,但輸出結構體時會新增欄位名
%#v值的Go語法表示
%T值的型別的Go語法表示
%%百分號
(二)布林值:
%t單詞true或false
(三)整數:
%b表示為二進位制
%c該值對應的unicode碼值
%d表示為十進位制
%o表示為八進位制
%q該值對應的單引號括起來的go語法字元字面值,必要時會採用安全的轉義表示
%x表示為十六進位制,使用a-f
%X表示為十六進位制,使用A-F
%U表示為Unicode格式:U+1234,等價於"U+%04X"
(四)字串和[]byte:
%s直接輸出字串或者[]byte
%q該值對應的雙引號括起來的go語法字串字面值,必要時會採用安全的轉義表示
%x每個位元組用兩字元十六進位制數表示(使用a-f)
%X每個位元組用兩字元十六進位制數表示(使用A-F)