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\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是什么动态语言?

自制文件系统 — 04 hellofs 进阶 分布式加密文件系统

Golang 优秀框架有哪些

聊聊storagetapper的pipe

手把手教你实现Golang跨平台编译

devops ci/cd 分析(三)之k8s yaml模版配置详解

Golang数组与切片的不同之处

手撸Golang 基本数据结构与算法 图的最短路径 贝尔曼-福特算法

Go每日一库 [home-dir] 获取用户主目录

protoc Go插件编写之四 (实现生成自己的proto文件)

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...