• 【GO】GO语言学习笔记一


    a、为何学习GO语言?

    从个人角度来看,第一是被GO语言传说中的那样超高的开发效率和运行效率所吸引;第二是GO语言在语言层面支持并发,这在现在的编程业务中是很方便的;第三是由于前两点,我觉得以后GO会火起来;最后一点,做技术嘛,跟着微软或者谷歌总会是有肉吃的^_^!

    b、第一个GO程序

    根据国际惯例,学习一门语言,总会以一个Hello World开始,同样,看第一个GO程序来感受一下GO的世界

    package main
    
    import "fmt"
    
    func main(){
        fmt.Println("Hello World!")
    }
    

    package---包声明,表示这段代码属于哪个包

    import---导入包,导入fmt是因为需要使用fmt包中的Println函数//不能导入代码中没有用到的包,编译会报错

    /******************开始语言*********************/

    一、顺序编程

    1、变量

    a、声明:

      引入关键字 var , 类型信息在变量名之后

    var a int
    var v2 string  
    var v3 [10]int  //数组  
    /*多个变量一起声明*/
    var (
      v1 int
      v2 string
    )

    b、初始化

    var v1 int = 10
    var v2 = 10 //可以自动推导类型
    v3 := 10 //v3不能是已经声明过的变量  

    c、赋值

    var v4 int
    v4 = 10
    /*多重赋值*/
    a , b = 2 , 3
    i , j = j , i

    d、匿名变量

      Go语言支持多返回值和匿名变量,由于函数可以多返回值,在接收的时候可以选择性的接收

    func getName()(firstName , lastName , nickName){
        return "zhangsan" , "lisi" , "wuhaha"
    }
    
    _ , _ , nickName := getName()
    

    2、常量

    a、字面常量-----程序中硬编码的常量(无类型)

      -12
      3.14159265358979325846//浮点型的常量
      3.2 + 12i //复数型的常量
      true //布尔型的常量
      "foo" //字符串型的常量
    

    b、常量定义

    关键字 const

    const Pi float64 = 3.14159265358979323846
    
    const (
      size int64 = 1024
      eof = -1
    )
    const mask = 1 << 3 //编译期运算的常量表达式

    常量赋值是一个编译期行为,所以右值不可以是任何需要运行期才能得出结果的表达式

    如下错误栗子:

    const errooooor = os.GetEnv("HOME")//os.GetEnv()要在运行期才能得出结果
    

    c、预定义常量

    true , false , iota

    iota---可被编译器修改的常量,每const出现一次,iota被重置为0,在下一个const出现之前,没出现一次iota,iota代表的数字+1 

    const (
        c0 = iota //co == 0
        c1 = iota //c1 == 1
        c2 = iota //c2 == 2     
    )
    
    const (
        c0 = 1 << iota //c0 == 1
        c1 = 1 << iota //c1 == 2
        c2 = 1 << iota //c2 == 4                 
    )
    

    d、枚举---定义一组常量

    const (
      Sunday = iota
      Monday
      Tuesday
      Wednesday
      Thursday
      Friday
      Saturday
      numberOfDays // 这个常量没有导出
    )

    同Go语言的其他符号( symbol)一样,以大写字母开头的常量在包外可见。以上例子中numberOfDays为包内私有,其他符号则可被其他包访问。  

      

      

      

      

      

  • 相关阅读:
    vmware 更换网络后不能上网
    IDEA “Cannot resolve symbol” 解决办法
    SpringBoot MyBatis druid数据库连接池
    解决分页插件ClassNotFoundException: org.springframework.boot.bind.RelaxedPropertyResolver
    纯CSS绘制不同角度的三角形
    原生js实现移动端点击、长按、左滑、右滑、上滑、下滑等事件模拟
    移动端下拉滚动刷新
    使用锚点定位不改变url同时平滑的滑动到锚点位置,不会生硬的直接到锚点位置
    简单的mock数据调试
    小程序textarea文本域字数控制---并显示已输入字数
  • 原文地址:https://www.cnblogs.com/NicholasFugui/p/Go.html
Copyright © 2020-2023  润新知