package main
// 导包
import (
"fmt"
"math"
)
// 定义包内部全局变量
// 因为我现在在main这个包下面,相当于就是 我这个变量是这个包内部的全局变量
// 两种方式定义变量
var aa = 3
var ss = "kkk"
var bb = true
var (
dd = 3
ff = "kkk"
tt = true
)
// 定义方法, 空值
func variableZeroValue() {
var a int
var s string
// go语言不输出 string 空值
fmt.Println(a,s)
// 如果希望输出 go 语言的 string 空值
fmt.Printf("%d %q\n",a,s)
}
// 定义方法,赋初始值
func variableInitialValue(){
var a, b int = 3, 4
var s string = "abc"
fmt.Println(a,b,s)
}
// 定义方法, 省略基本类型
func variableTypeDeduction(){
// 可以推测自动类型, 就是可以不用写变量的属性
var a, b =3, 4
var s = "abc"
fmt.Println(a, b, s)
}
// 定义方法, 常量
func consts(){
// 定义常量
const filename = "abc.txt"
const a, b = 3, 4
var c int
c = int(math.Sqrt(a*a + b*b))
fmt.Println(filename, c)
}
func constss(){
// 定义常量
const (
filename = "abc.txt"
a, b = 3, 4
)
var c int
c = int(math.Sqrt(a*a + b*b))
fmt.Println(filename, c)
}
// 定义枚举, go语言中没有枚举关键字, 一般都是用 const 定义的一组变量当做枚举
func enums(){
//const (
// cpp = 0
// java = 1
// python = 2
// golang = 3
//)
// iota 表示自增值, 从0开始
const (
cpp = iota
java
python
golang
)
// iota 可以参与运算,用的好的话,可以当做种子来进行自增值
const (
b = 1 << (10 * iota)
kb
mb
gb
tb
)
fmt.Println(cpp, java, python, golang)
fmt.Println(b, kb, mb, gb, tb)
}
func main() {
fmt.Println("Hello world")
variableZeroValue()
variableInitialValue()
variableTypeDeduction()
consts()
enums()
}
定义方法变量
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 今日内容介绍 1、Eclipse常用快捷键操作 2、Eclipse文档注释导出帮助文档 3、Eclipse项目的j...
- 鉴于很多朋友私信让分享一些dart基础知识,今天就给大家分享一些dart基本操作!!! 变量:一旦附上值,他的数据...