go-分包复用 for循环

包必须要加载src中

来的走 defer就最后一个走

defer 先声明就是最后一个执行  defer栈

循环: goto 关键字     是代码执行到goto的时候直接跳到关键字那里开始执行 代码

         break 关键字   是代码执行到break的时候如果没有关键字则直接终止当前正在执行的循环,如果有关键字则直接从关键字那里直接终止。break关键字多用于  多次循环中使用

字符串用+来连接变量

字符串和字符  两种类型的比较

字符类型用单引号来定义             字符类型往往是一个字符

字符串类型用 双引号来定义        字符串类型往往是一个或者多个字符

一.直接用单引号来定义的话:

     str1 := "a"  //字符串类型
     str2 := 'a'   //字符类型  而且只能是一个字符

     str3 := 97

     fmt.Printf("str1的类型是%T,值是%s",str1,str1)//str1的类型是string,值是a
     fmt.Printf("str2的类型是%T,值是%d",str2,str2)//str2的类型是int32,值是97

    fmt.Printf("str3的类型是%T,值是%d",str3,str3)//str2的类型是int32,值是97

    有两个疑惑:

    第一个为什么上面的占位符一个是%s 一个是%d 因为str1是字符串类型  而str是字符类型 而字符类型是用整形去保存的所以要使用%d整形占位符

   第二个是为什么类型变成int32  而值变成了97  因为计算机只能存数字而不能存字符,所以在ascll表中用97代表a  所以你存97和存a 是一样的

二.如果先声明字符的类型是  byte的话那么

    var ch byte  //声明字符类型  
    ch = 97
    fmt.Printf("%c,%d,%v,%T\n",ch,ch,ch,ch)    //a,97,97,uint8
    ch = 'a' //字符是单引号
    fmt.Printf("%c,%d,%v,%T\n",ch,ch,ch,ch)    //a,97,97,uint8

还是相同的

如果不声明byte那么就会自定义成为int32

函数不可以有相同的名字 

方法可以有但是接受者不一致

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值