Golang变量、常量

mb601cfae7df0aa · · 390 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

变量

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

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

常量

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

变量的定义和使用

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\n",a)
    fmt.Printf("%T\n",b)
    fmt.Printf("%T\n",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\n", MAX)
    fmt.Printf("%T\n", 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\n",a)
    fmt.Printf("%T\n",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\n",a)
    //%.2f表示小数点保留两位 会对第三位进行四舍五入
    fmt.Printf("%.2f\n",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、见名知义


有疑问加站长微信联系(非本文作者)

本文来自:51CTO博客

感谢作者:mb601cfae7df0aa

查看原文:Golang变量、常量

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

390 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传