zoukankan      html  css  js  c++  java
  • go的常量与变量

    一、常量

    1.1 定义

    常量使用关键字const 定义,用于存储不会变化的数据
    定义方法 const identifier [type] = value

    package main
    
    // 常量定义
    const P float64 = 3.14159
    
    // 简短而优雅的写法
    const(
    	CODE_STATUS = 100
    	START_NUM int = 1
    	START_NUM1   // 自动 延用上一行的数据值 1,
    )
    func main(){
    	
    }
    

    1.2 常量定义的注意事项

    1、常量名 最好大写,已区分于变量
    2、常量定义后是可以不使用的
    3、常量的定义可以不写 数据类型和变量一样,因为go编辑器会自动识别
    4、常量的数据必须是不可变的,也就是必须是确定下来的数据
        不规范的列子:
            const NUM int = getNum() // getNum 函数的不获取是不确定的,所以不行
    5、在一个const 内,如果一行没有赋值,则会默认赋值上一行的数据直至有值可以赋值
    

    1.3 关于iota 的使用

    用法 const identifier = iota
    iota 就是int 类型

    package main
    
    const(
    	A int = iota  // 0
    	B			  // 1
    	C			  // 2
    )
    
    const(
    	D = iota	 // 0
    	E ="jmz"     // jmz
    	F 			 // jmz
    	G = iota	 // 3
    	H = iota * 2 // 8
    	I			 // 10
    	J = iota	 // 6
    	K			 // 7
    )
    func main(){
    }
    
    

    1.4 iota 的讲解

    1、iota 每一次开始值 都为0
    2、iota 每遇到const ,都会从0开始
    3、iota 在一个const内是每一行都会自动+1
    

    二、变量

    2.1 变量声明

    var identifiter [type]

    • 第一种 声明后再赋值
        var v_name v_type
        v_name = value
    
    • 第二种 声明的过程中赋值
    var v_name v_type = value
    
    • 第三种 简单声明
    v_name := value
    
    • 第四种 优雅的声明方式
    var (
        v_name1 v_type = value
        v_name2 = value2
        v_name3 v_type3
    )
    

    2.2 多变量声明

    var vname1,vname2,vname3 int = 1,2,3  // 多变量声明指明了类型所以后面都必须是该类型
    var v1,v2,v3 = 23,"aaa","obj" // 多变量声明,没有指明类型,go编辑器会自动添加变量类型的
    a1,a2,a3,a4 := 1,2,"3",'3' 多变量简短声明
    

    2.3 声明与赋值

    1、关于值类型变量的声明,go编辑器会自动赋予该变量初始值
           int 为 0,float 为 0.0,bool 为 false,string 为空字符串,指针为 nil,引用类型变量为nil
           记住所有的内存在 Go 中都是经过初始化的。
    
    2、变量尽量遵循驼峰命名法
        如:userName,startDate
    3、变量声明后不能再次声明,否则会报错
        简短声明中 只要有一个未声明,就不会报错
            如:
                num := 0
                num,ok := iName.(int) // 这是断言,返回两个值
    
    

    三、值类型与引用类型

    在go 中有两个数据类型 值类型和引用类型,我数据类型中,具体讲解
    
    &变量 可以获取变量的地址
        如:
            num := 12
            println(&num)
    
    值类型:
        1、变量 直接指向 内存中的值
        2、将一个变量 赋值给 另一个变量,实际是对内存中的值进行了拷贝
        3、值类型的变量的值存储在栈中
    引用类型:
        1、引用类型的变量存储的是内存值所在的地址(数字),内存地址中第一个字所在的位置
        2、将一个引用类型变量 赋值给 另一个引用类型变量,实际只是引用(地址)的复制
         
    
    那些事值类型,那些事引用类型,请看下一章
    

    如果喜欢看小说,请到183小说网

  • 相关阅读:
    nginx $remote_addr 详解
    Alipay SDK验签PHP低于5.5版本错误
    Alipay支付宝调用错误:Call to undefined function openssl_sign()
    nginx.conf 下日志host.access.log 说明
    vim全选,全部复制,全部删除
    jquery 获取上传文件大小
    linux网络配置
    crontab 定时任务简单备份数据库
    linux进程管理
    mysql 动态增加列,查找表中有多少列,具体什么列。 通过JSON生成mysql表 支持子JSON
  • 原文地址:https://www.cnblogs.com/xiaobaiskill/p/10580050.html
Copyright © 2011-2022 走看看