[Go] 数据类型,变量与变量作用域,常量
// var.go
package main import (
"fmt"
) func main() {
// 声明变量的一般形式是使用 var 关键字,可以一次声明多个变量
// 1.指定变量类型,如果没有初始化,则变量默认为零值
var country string = "cn"
var city, town string = "sh", "mh" // 2.根据值自行判定变量类型
var card = "card"
var card1, card2 = , "card2" // 3.简短形式(推荐),省略 var 不带声明, 注意 := 左侧如果没有声明新的变量就产生编译错误
// 不带声明格式的只能在函数体中出现
// 等同于 var sex1 int = 1
sex :=
sex1, sex2 := , fmt.Println(country, city, town)
fmt.Println(card, card1, card2)
fmt.Println(sex, sex1, sex2) // 交换两个变量的值,类型必须一样
sex, sex1, sex2 = sex2, sex1, sex
fmt.Println(sex, sex1, sex2) var flag bool // 布尔型
var age int // 数字型
var name string // 字符串型
var a *int // 指针类型(Pointer)
var b []int // 数组类型
var c map[string] int // Map 类型
var d chan int // Channel 类型
var e func(string) int // 函数类型
var f error // 接口类型(interface)
// 结构化类型(struct)
// 切片类型 // 未初始化的变量为零值
fmt.Println(flag) // false
fmt.Println(age) //
fmt.Println(name) // "" 空字符串 fmt.Println(a) // nil
fmt.Println(b) // []
fmt.Println(c) // map[]
fmt.Println(d) // nil
fmt.Println(e) // nil
fmt.Println(f) // nil // 基于架构de数字型,无符号+有符号
//var A uint8
//var B uint16
//var C uint32
//var D uint64
//var E int8
//var F int16
//var G int32
//var H int64
//// 基于架构de浮点型
//var I float32
//var J float64
//var K complex64
//var L complex128
//// 其他数字类型
//var M byte
//var N rune
//var O uint
//var P int
//var Q uintptr
}
// var-scope.go
package main import (
"fmt"
) // 声明全局变量
var a int func main() {
// 声明局部变量
var a int =
var b int = fmt.Println(a) //
fmt.Println(sum(a, b)) //
} // 形式参数
func sum(a, b int) int {
return a + b
}
// const.go
package main import (
"fmt"
"unsafe"
) // 显式类型定义
const A string = "AA"
// 隐式类型定义
const B = "BB"
// 常量用作枚举
const (
Unknown =
Female =
Male =
)
// iota 特殊常量,可以被编译器修改的常量
// (可以理解为 const 语句块的行索引)
const (
a = iota
b = iota
c = iota
) const (
d = iota
e
f
) func main() {
fmt.Println(A)
fmt.Println(B)
fmt.Println(Male)
fmt.Println(unsafe.Sizeof(A)) // "AA"=16(byte) fmt.Println(a) //
fmt.Println(b) //
fmt.Println(c) // fmt.Println(d) //
fmt.Println(e) //
fmt.Println(f) //
}
Src:https://github.com/farwish/go-lab/blob/master/go-syntax/var.go
https://github.com/farwish/go-lab/blob/master/go-syntax/var-scope.go
https://github.com/farwish/go-lab/blob/master/go-syntax/const.go
Link:https://www.cnblogs.com/farwish/p/11073063.html
[Go] 数据类型,变量与变量作用域,常量的更多相关文章
- C#的常量和变量以及其作用域和命名规范
1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须在定义的时候初始化. 语法: const 类型名 常量名=常量表达式 ...
- 010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二——变量类型——即Java中的数据类型
010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二--变量类型--即Java中的数据类型 Java中变量的三要素 变量名 变 ...
- 04 变量 变量作用域 常量final 变量的命名规范
变量 变量是什么:就是可以变化的量! Java是一种强类型语言,每个变量都必须声明其类型. Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域. 注意事项: 每个变量都有类型,类 ...
- 变量、变量作用域、常量final、变量的命名规范
变量 变量是什么:就是可以变化的量! Java是一种强类型语言,每个变量都必须声明其类型. Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域. 注意事项: 每个变量都有类型,类 ...
- Java中的变量与变量的作用域
关于Java中的变量及变量的作用域 关于Java中的变量及变量的作用域 0. 变量的概念 在程序运行期间,系统可以为程序分配一块内存单元,用来存储各种类型的数据.系统分配的内存单元要使用一个标记符来标 ...
- C变量类型和作用域
C语言中所有变量都有自己的作用域,申明变量的类型不同,其作用域也不同.C语言中的变量,按照作用域的范围可分为两种, 即局部变量和全局变量. 一.局部变量 局部变量也称为内部变量.局部变量是在函数内作定 ...
- PHP语言基础(标记、注释、变量、数组、常量、函数)
PHP标记风格 1.xml风格(标准风格推荐使用) 代码如下: <?php echo"这是xml风格的标记"; ?> xml风格的标记是常用的标记,也是推荐使用的 ...
- Swift学习——变量var和let常量的用法(一)
Swift中的变量var和let常量 首先介绍一下Swift中的 var 和 let (1)var 是 variable的缩写形式,是变量的意思 ,是可改变的.并非数据类型 比如: 注意每一个语句后面 ...
- javascript变量类型及作用域
javascript变量类型及作用域 一.简介 变量类型 ECMAScript变量可能包含两种不同类型的数据值:基本类型和引用类型. 基本类型 基本类型指的是简单的数据段,5种基本数据类型:undef ...
- 020 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 14 变量与常量 知识总结
020 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 14 变量与常量 知识总结 本文知识点:变量与常量 知识总结 Java中的标识符 Java中的关键字 目前常 ...
随机推荐
- 前端性能----从输入URL开始到返回数据的中间经历过程
这是一个古老的问题,即我们输入URL后按下回车到网页测呈现都发生了什么? 首先来看一张图: 表示了数据从源端到目的端的封装和拆解过程 预处理URL URL格式: 以http为例: http://ww ...
- 记录:http协议+response+request+session+cookie
1.http协议 http协议也叫作超文本传输协议,定义了浏览器向怎样向服务器请求资源和服务器怎样将资源传给浏览器.http协议是面向事务的应用层协议,是万维网能够传递资源的可靠保障. 目前http协 ...
- docker 清理无用的卷
docker system prune 对于卷的清理不够彻底 题外话:docker volume ls查看当前卷列表 使用如下命令可以清理不用的卷 docker volume prune -f 强制 ...
- 异常STATUS_FATAL_APP_EXIT(0x40000015)
简介 STATUS_FATAL_APP_EXIT,值为0x40000015.代表的意思是"致命错误,应用退出".它定义在 ntstatus.h头文件里,如下: //// Messa ...
- JS函数基础
一.函数 1.函数是什么 具有特定功能的n条语句的封装体. 只有函数是可执行的,其它类型的数据是不可执行的. 函数也是对象. 2.为什么要用函数 提高代码复用 便于阅读和交流 3.如何定义函数 函数声 ...
- string类的用法总结
string中常见的成员函数 示例代码: string s= string("abcdefg"); char ch[] = "abcdefgd"; //调用构造 ...
- 洛谷P2293 高精开根
锣鼓2293 写完了放代码 应该没什么思维难度 ———————————————————————————————————————————————————————— python真香 m=input() ...
- day03 数据基础
1.列举字符串,列表,元组,字典每个常用的五个方法 字符串: strip() , lstrip(),restrip() count(),index(),find() startswith,endswi ...
- shell 空语句
在shell脚本中“:”是空命令,表示什么都不做类似于python中的pass
- Salt States概览
作者言 我也只是SaltStack的初学者,如果文中有错误的地方,请不吝赐教. 在学习的过程,我也做了不少实验,犯了不少错,积累了一些经验,对SaltStack的运行也有一定了解,如果有什么问题,或是 ...