• Golang变量、常量


    变量

    在程序运行过程中,其值可以发生改变的量成为变量

    变量存在内存中,在程序运行时用来暂时存储数据

    常量

    在程序运行过程中,其值不可以发生改变的量成为常量

    变量的定义和使用

    package main

    import "fmt"

    func main() {

    //变量定义格式
    //var 变量名 数据类型

    //变量声明 未初始化 值为0
    //var a int
    //变量初始化
    var a int = 123
    //表达式   计算a+321的结果赋值给a
    a = a + 321
    //打印变量的值
    fmt.Println(a);
    }

    自动推导类型

    package main

    import "fmt"

    func main() {
    //在go语言中可以根据变量赋值来确定数据类型

    //格式:
    //变量名 := 值
    a := 123  //int 整型
    b := 3.14 //float64 双精度浮点型
    c := "你好" //string 字符串类型

    fmt.Println(a)
    fmt.Println(b)
    fmt.Println(c)

    //格式化打印
    //占位符 %T 打印数据对应的类型
    fmt.Printf("%T ",a)
    fmt.Printf("%T ",b)
    fmt.Printf("%T ",c)
    }

    常量定义和使用

    //常量定义 方法一
    const Max int = 10
    //常量定义 方法二 自动推导类型
    const Min = 10

    /* 常量 存放在 全局区->常量区 */
    /* 变量 存放在栈区 */
    package main

    import "fmt"

    func main0501() {
    //变量定义
    //var a int =10

    //常量定义 常量名建议使用大写
    const A int = 10
    //A = 123 //err 常量在程序运行过程中不能赋值
    fmt.Println(A)
    //fmt.Println(&A)//err 常量地址不能获取
    }

    func main0502() {

    //在程序运行过程中 可以将不需要修改的量 设置为常量
    //圆周率 3.14
    const PI float64 = 3.14
    r := 2.5
    //圆的面积
    s := PI * r * r
    //圆的周长
    l := 2 * PI * r

    fmt.Println(s)
    fmt.Println(l)

    }

    func main0503() {
    //常量自动推导类型
    const MAX = 10
    const PI = 3.14
    fmt.Printf("%T ", MAX)
    fmt.Printf("%T ", PI)
    }

    func main() {
    //所有的字面常量 存在内存中全局区-》常量
    fmt.Println("hello")
    a := 10
    a = a + 123
    }

     

    多重赋值和匿名变量

    package main

    import "fmt"

    func main() {
    //定义多个变量
    //var a,b,c,d int
    //
    //a=1
    //b=2
    //c=3
    //d=4

    //多重赋值
    //var a, b, c, d int = 1, 2, 3, 4

    //自动推导类型 进行多重赋值
    //匿名变量 在数据定义或数据接收时 如果不想处理的数据可以使用匿名变量_来接收数据但是不会处理
    //注意:匿名变量不可以打印
    a, b, _, _ := 1, 2.22, 'a', "你好"
    //fmt.Println(a, b, c, d)
    fmt.Printf("%T ",a)
    fmt.Printf("%T ",b)
    //fmt.Println(_)//err
    }

    格式输入

    package main

    import "fmt"

    func main0701() {
    //fmt.Print 打印数据不换行
    //fmt.Println 打印数据并换行
    fmt.Println("hello")
    fmt.Println("world")
    }

    func main() {
    //格式化输出 需要根据个数进行占位符使用
    //%d 表示输出一个整型数据
    //%f 表示输出一个浮点型数据 默认保留六位小数
    //%T 表示输出一个变量对应的数据类型
    a := 123456
    b:=3.149999
    //%5d 表示数据位数为5位 不足前面补空格
    //%-5d 表示数据位数为5位 不足后面补空格
    //%05d 表示数据位数为5位 不足前面补0
    //如果数据超出位数 正常输出
    fmt.Printf("%5d ",a)
    //%.2f表示小数点保留两位 会对第三位进行四舍五入
    fmt.Printf("%.2f ",b)
    }

     

    格式输出

    package main

    import "fmt"

    func main0801() {
    var a int
    var b float64
    //通过键盘为变量赋值
    //& 是一个运算符 表示取地址运算符
    //如果scan中有多个数据 可以使用空格或换行表示接收结束
    fmt.Scan(&a, &b) //阻塞式请求

    fmt.Println(a)
    fmt.Println(b)
    }

    func main() {
    var a int
    var b float64
    //格式化接收数据 需要使用占位符
    fmt.Scanf("%d%f", &a, &b)

    fmt.Println(a)
    fmt.Println(b)
    }

     

    标识符命名规则

    1、可以使用字母、数字、下划线

    2、只能以字母下划线开头

    3、不允许使用go语言关键字

    4、区分大小写

    5、见名知义

  • 相关阅读:
    [转]PHP如何关闭notice级别的错误提示
    [原]php远程odbc连接sqlsvr数据库,自定义端口,命名实例的连接方式
    [原] wmic: Invalid XSL format (or) file name错误解决方法
    [转]PHP Session的一个警告
    [转]权限问题导致Nginx 403 Forbidden错误的解决方法
    [转]require(),include(),require_once()和include_once()区别
    [转]Mysql命令行常用操作
    php读取sql2000的image字段,被截断的问题
    一、基于hadoop的nginx访问日志分析---解析日志篇
    shell判断条件整理
  • 原文地址:https://www.cnblogs.com/muxinanan/p/14501948.html
Copyright © 2020-2023  润新知