go1

关键字:
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)
}
原文地址:https://www.cnblogs.com/yaowen/p/8065724.html