go1

weixin_34292959發表於2017-12-19
關鍵字:
break        default           func        interface        select
case          defer              go           map               struct
chan          else                goto       package        switch
const         fallthrough    if             range             type
continue   for                  import    return             var 



---------------------------------------------------------------------------------------------------
package main

import (          //匯入多個包,如果匯入包之後 未呼叫 其中的函式或者型別將會報出編譯錯誤:
    "fmt"
    "io"
    "os"
    "strings"
)

func main() {
    fmt.Println("Hello world!你好,世界!")
}


--------------------------------------------------------------------------------------------------




// 當前程式的包名,通過makage表示是哪個包,package後面是包名
package main

// 匯入其它的包
import "fmt"
import std "fmt"    //package別名
import . "fmt"    //package別名是一個點

// 常量的定義,public的
const PI = 3.14

// var定義全域性變數的宣告與賦值,在整個package中使用,private的
var name = "gopher"

// 一般型別宣告,newType就是一個int型別,
type newType int

// 結構的宣告,gopher是結構的名稱,別名,
type gopher struct{}

// 介面的宣告,golang是別名,
type golang interface{}

// 由 main 函式作為程式入口點啟動
func main() {
    fmt.Println("Hello world!你好,世界!")        //使用包中的函式,Println函式名首字母是大寫,是public的
    std.Println("Hello world!你好,世界!")
    Println("Hello world!你好,世界!")        //別名是一個點就可以省略前面的包名,不建議是使用
}



//Go語言中,使用 大小寫 來決定該 常量、變數、型別、介面、結構或函式 是否可以被外部包所呼叫:
//根據約定,函式名首字母 小寫 即為private(包的外部不能使用,包的內部可以使用)
func getFiled(v reflect.Value,i int)
//函式名首字母 大寫 即為public,呼叫其他包的函式變數的時候肯定首字母是大寫的,
func Print(format string,a ...interface) {}



/*
先是包名,在是匯入的包名,在是常量的定義,在是全域性變數,
在是一般型別,在是結構體,在是介面,在是函式的定義。

匯入不使用會報錯。
*/




package main

import (
    "fmt"
)

const ( //常量組
    PI     = 3.41
    const1 = "10"
    const2 = 12
)

var ( //全域性變數組
    name  = "fff0"
    name1 = 12
    name3 = 23
)

type ( //基本型別的別名
    byte int8
    rune int32
    文字   string
)

func main() {
    var b 文字
    b = "中文啊親"
    fmt.Println("文字b:" + b)
}