// 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] 数据类型,变量与变量作用域,常量的更多相关文章

  1. C#的常量和变量以及其作用域和命名规范

    1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须在定义的时候初始化. 语法: const 类型名 常量名=常量表达式 ...

  2. 010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二——变量类型——即Java中的数据类型

    010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二--变量类型--即Java中的数据类型 Java中变量的三要素 变量名 变 ...

  3. 04 变量 变量作用域 常量final 变量的命名规范

    变量 变量是什么:就是可以变化的量! Java是一种强类型语言,每个变量都必须声明其类型. Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域. 注意事项: 每个变量都有类型,类 ...

  4. 变量、变量作用域、常量final、变量的命名规范

    变量 变量是什么:就是可以变化的量! Java是一种强类型语言,每个变量都必须声明其类型. Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域. 注意事项: 每个变量都有类型,类 ...

  5. Java中的变量与变量的作用域

    关于Java中的变量及变量的作用域 关于Java中的变量及变量的作用域 0. 变量的概念 在程序运行期间,系统可以为程序分配一块内存单元,用来存储各种类型的数据.系统分配的内存单元要使用一个标记符来标 ...

  6. C变量类型和作用域

    C语言中所有变量都有自己的作用域,申明变量的类型不同,其作用域也不同.C语言中的变量,按照作用域的范围可分为两种, 即局部变量和全局变量. 一.局部变量 局部变量也称为内部变量.局部变量是在函数内作定 ...

  7. PHP语言基础(标记、注释、变量、数组、常量、函数)

    PHP标记风格 1.xml风格(标准风格推荐使用) 代码如下: <?php  echo"这是xml风格的标记";  ?>  xml风格的标记是常用的标记,也是推荐使用的 ...

  8. Swift学习——变量var和let常量的用法(一)

    Swift中的变量var和let常量 首先介绍一下Swift中的 var 和 let (1)var 是 variable的缩写形式,是变量的意思 ,是可改变的.并非数据类型 比如: 注意每一个语句后面 ...

  9. javascript变量类型及作用域

    javascript变量类型及作用域 一.简介 变量类型 ECMAScript变量可能包含两种不同类型的数据值:基本类型和引用类型. 基本类型 基本类型指的是简单的数据段,5种基本数据类型:undef ...

  10. 020 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 14 变量与常量 知识总结

    020 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 14 变量与常量 知识总结 本文知识点:变量与常量 知识总结 Java中的标识符 Java中的关键字 目前常 ...

随机推荐

  1. 如何开发一个异常检测系统:使用什么特征变量(features)来构建异常检测算法

    如何构建与选择异常检测算法中的features 如果我的feature像图1所示的那样的正态分布图的话,我们可以很高兴地将它送入异常检测系统中去构建算法. 如果我的feature像图2那样不是正态分布 ...

  2. CalcIntegerLength

    private static int CalcIntegerLength(int iLen) { //String str_iLen = Convert.ToString(iLen); int str ...

  3. 几种访问HDFS文件的客户端的总结

    HDFS是英文Hadoop Distributed File System的缩写,中文翻译为Hadoop分布式文件系统,它是实现分布式存储的一个系统,所以分布式存储有的特点,HDFS都会有,HDFS的 ...

  4. python 定时任务 from apscheduler.schedulers.blocking import BlockingScheduler

    说明:使用python内置的模块来实现,本篇博客只是以循环定时来示范,其他的可以结合crontab的风格自己设定 一.导包 from apscheduler.schedulers.blocking i ...

  5. rpm命令(转)

    rpm -qa|grep mysql rpm命令是RPM软件包的管理工具.rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受 ...

  6. JS稀奇古怪题目

    JS稀奇古怪题目: 1.操作对象属性优先级高于普通赋值操作 var a = { n: 1 }; var b = a; //操作对象属性优先级高于普通赋值操作 a.x = a = { n: 2 }; c ...

  7. c++ map内置类型的默认值(std::map default value for build-in type)

    大神的帖子,留着自己备忘:http://www.it1352.com/455626.html 结论:你看到的value是整数.浮点(初始化为零)的行为是由标准定义的,你可以依赖它. 网上还有好多帖子说 ...

  8. mvc基础配置

    视图解析器 在spring-mvc文件中编写 <!--配置视图解析器--> <bean class="org.springframework.web.servlet.vie ...

  9. #Ubuntu 14.04 系统下载

    http://mirrors.aliyun.com/ubuntu-releases/14.04/

  10. rtsp 客户端请求视频的时候支持输入用户名和密码的格式

    rtsp://[<username>[:<password>]@]<server-address-or-name>[:<port>][/<path ...