美文网首页
GO语言学习笔记8月27日

GO语言学习笔记8月27日

作者: pp_5793 | 来源:发表于2018-08-27 21:10 被阅读0次

    1.Go 程序是通过 package 来组织的。只有 package 名称为 main 的包可以包含 main 函数。一个可执行程序有且仅有一个 main 包。通过 import 关键字来导入其他非 main 包。可以通过 import 关键字单个导入。

    2.通过 const 关键字来进行常量的定义。通过在函数体外部使用 var 关键字来进行全局变量的声明和赋值。通过 type 关键字来进行结构(struct)和接口(interface)的声明。通过 func 关键字来进行函数的声明。

    3.可见性规则

    Go语言中,使用首字母的大小写来决定该常量、变量、类型、接口、结构或函数是否可以被外部包所调用,外部用大写,内部用小写。

    例:

    //函数名首字母小写即为 private :

    func getId() {}

    //函数名首字母大写即为 public :

    func Printf() {}

    //Go 语言的包引入一般为: 项目名/包名

    import "test/controllers"

    //方法的调用为: 包名.方法名()

    controllers.Test() //本包内方法名可为小写,包外调用方法名首字母必须为大写

    Print() 函数将参数列表 a 中的各个参数转换为字符串并写入到标准输出中。

    非字符串参数之间会添加空格,返回写入的字节数。

    4 .Go 语言的基础组成有以下几个部分:

    包声明

    引入包

    函数

    变量

    语句 & 表达式

    注释

    5.fmt 包表示输入和输出,在要用到输入和输出时应声明 import 'fmt',

    6.Go 语言中变量的声明必须使用空格隔开,如:

    var age int

    语句中适当使用空格能让程序更易阅读。

    7.Go语言一般不用分号结束。

    8.在 Go语言 中,布尔值的类型为 bool,值是 true 或 false,默认为 false。

    9.package main

    var a = "我吃面皮子,你喝油辣子。"

    var b string = "nigoule"

    var c bool

    func main(){ 

     println(a, b, c)

    }//这里的string 可以省略

    10 .(1)package main

          var x, y int

          var ( // 这种因式分解关键字的写法一般用于声明全局变量 

           a int,   

           b bool

    )

          var c, d int = 1, 2

         var e, f = 123, "hello"

         //这种不带声明格式的只能在函数体中出现

         //g, h := 123, "hello"

        func main()

         g, h := 123, "hello" 

          println(x, y, a, b, c, d, e, f, g, h)

    }

    (2)package main

    import "fmt"

    var x, y int

    var ( // 这种因式分解关键字的写法一般用于声明全局变量

    a int

    b bool

    )

    var c, d int = 1, 2

    var e, f = 123, "hello"

    func main() 

    {

         g, h := 123, "hello"

         fmt.Println(x, y, a, b, c, d, e, f, g, h) //fmt.Println表示外部调用,别忘记提前声明要调用的包

    }

    11 我们知道可以在变量的初始化时省略变量的类型而由系统自动推断,声明语句写上 var 关键字其实是显得有些多余了,因此我们可以将它们简写为 a := 50 或 b := false。a 和 b 的类型(int 和 bool)将由编译器自动推断。这是使用变量的首选形式,但是它只能被用在函数体内,而不可以用于全局变量的声明与赋值。使用操作符 := 可以高效地创建一个新的变量,称之为初始声明。

    12 如果你想要交换两个变量的值,则可以简单地使用 a, b = b, a,两个变量的类型必须是相同。空白标识符 _ 也被用于抛弃值,如值 5 在:_, b = 5, 7 中被抛弃。_ 实际上是一个只写变量,你不能得到它的值。这样做是因为 Go 语言中你必须使用所有被声明的变量,但有时你并不需要使用从一个函数得到的所有返回值。

    13 iota用法(易错)

     iota,特殊常量,可以认为是一个可以被编译器修改的常量。

    在每一个const关键字出现时,被重置为0,然后再下一个const出现之前,每出现一次iota,其所代表的数字会自动增加1。

    iota 可以被用作枚举值:

    例:

    package main

    import "fmt"

    func main() 

    {   

          const (          

           a = iota  //0          

           b          //1          

           c          //2          

           d = "ha"  //独立值,iota += 1        

           e          //"ha"  iota += 1          默认继承是上一个数据

           f = 100    //iota +=1           

           g          //100  iota +=1      默认继承上一个数据    

           h = iota  //7,恢复计数          

           i          //8    )   

     fmt.Println(a,b,c,d,e,f,g,h,i)}

    输出为:0 1 2 ha ha100 100

    14  << 表示左移的意思 

    package main 

    import "fmt"

    var i int 

    var j int 

    func main(){

    i=3<<0

    j=4<<2

    fmt.Println(,i,j)

    }

    输出结果为:3,16

    解释:3的二进制为011 左移0位不变,

               4的二进制为0100,左移2位变为010000,即为16

    相关文章

      网友评论

          本文标题:GO语言学习笔记8月27日

          本文链接:https://www.haomeiwen.com/subject/vkbtwftx.html