我是靠谱客的博主 冷酷奇异果,这篇文章主要介绍GO语言学习入门笔记系列详解(二):Go的变量和常量定义GO语言学习入门笔记系列详解(二):Go的变量和常量定义,现在分享给大家,希望可以做个参考。

GO语言学习入门笔记系列详解(二):Go的变量和常量定义

变量定义

  • var关键字:说明是一个变量
  • 变量名在前,变量类型在后

函数内定义变量

复制代码
1
2
3
4
5
6
7
8
9
10
func variableZeroValue() { //变量名在前,变量类型在后 var a int var s string //go语言的变量一定会有一个初始值 //int类型初值是0 //string类型的初值是"",使用%q可以将空字符串打出来 fmt.Printf("%d %qn", a, s) }
  • go语言函数内的变量一旦定义,就必须使用
复制代码
1
2
3
4
5
6
7
8
func variableValueInit() { //自定义赋初值 var a, b int = 3, 4 var s string = "abc" //go语言的变量一旦定义就必须使用 fmt.Println(a, b, s) }
  • 可以不规定变量类型,可以写在一行,会自动识别
复制代码
1
2
3
4
5
func variableTypeDeduction() { var a, b, c, s = 3, 4, true, "def" fmt.Println(a, b, c, s) }
  • 函数内定义变量简略写法,用:=表示定义一个变量
复制代码
1
2
3
4
5
6
7
8
func variableShorter() { //第一次变量定义可以使用:= a, b, c, s := 3, 4, true, "def" //之后重新复制不可以 a = 5 fmt.Println(a, b, c, s) }

函数外定义变量

  • 可以省略类型,但是不能用:=来赋初值
复制代码
1
2
3
4
5
//叫做包内变量 var aa = 3 var ss = "hello you" var bb = true
  • 简单写法
复制代码
1
2
3
4
5
6
7
//变量定义 var ( aa = 3 ss = "hello you" bb = true )

内建变量类型

变量的类型

  1. bool和string

  2. 整型int,前面加u表示无符号,后面的数字表示规定的长度

    uintptr表示指针,这个指针的长度跟随系统

复制代码
1
2
(u)int,(u)int8,(u)int16,(u)int32,(u)int64,uintptr
  1. byte和rune(长度是32位,相当于char类型)
  2. float32,float64,complex64,complex128(complex表示复数)

复数回顾

image-20220507230834019

e i φ = cos ⁡ φ + i sin ⁡ φ ∣ e i φ ∣ = cos ⁡ 2 φ + sin ⁡ 2 φ = 1 e 0 = 1 , e i π 2 = i e i π = − 1 , e i i 2 π = − i , e i 2 π = 1 begin{aligned} &e^{i varphi}=cos varphi+i sin varphi \ &left|e^{i varphi}right|=sqrt{cos ^{2} varphi+sin ^{2} varphi}=1 \ &e^{0}=1, e^{i frac{pi}{2}}=i \ &e^{i pi}=-1, e^{i frac{i}{2} pi}=-i, e^{i 2 pi}=1 end{aligned} eiφ=cosφ+isinφeiφ=cos2φ+sin2φ =1e0=1,ei2π=ieiπ=1,ei2iπ=i,ei2π=1

Go语言如何表示复数

复制代码
1
2
3
4
5
6
func euler() { //不能写成4*i,会认为i是一个没有定义的变量 c := 3 + 4i fmt.Println(cmplx.Abs(c)) }

强制类型转换

  • 类型转换是强制的

  • 举例子:验证勾股定理

    var a,b int = 3,4

    var c int = math.Sqrt(a*a + b*b)

复制代码
1
2
3
4
5
6
7
func triangle() { var a , b int = 3,4 var c int c = int(math.Sqrt(float64(a*a + b*b))) fmt.Println(c) }

常量与枚举

常量定义

常量相当于一个文本替换的动作。

复制代码
1
2
3
4
5
6
7
8
func constants() { const fliename = "abc.txt" const a , b = 3,4 var c int c = int(math.Sqrt(a*a + b*b)) fmt.Println(filename,c) }

常量的定义也可以使用括号

复制代码
1
2
3
4
5
6
7
8
9
10
func constants() { const ( fliename = "abc.txt" a, b = 3, 4 ) var c int c = int(math.Sqrt(a*a + b*b)) fmt.Println(c) }

枚举定义

  • 没有自增
复制代码
1
2
3
4
5
6
7
8
9
10
func enums() { const ( cpp = 0 java = 1 python = 2 golang = 3 ) fmt.Println(cpp, java, python, golang) }
  • 带有自增
复制代码
1
2
3
4
5
6
7
const ( cpp = iota java python golang )
  • iota可以作为自增量
复制代码
1
2
3
4
5
6
7
8
9
//iota可以作为自增值 const ( b = 1 << (10 * iota) kb mb gb db )

最后

以上就是冷酷奇异果最近收集整理的关于GO语言学习入门笔记系列详解(二):Go的变量和常量定义GO语言学习入门笔记系列详解(二):Go的变量和常量定义的全部内容,更多相关GO语言学习入门笔记系列详解(二):Go内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(134)

评论列表共有 0 条评论

立即
投稿
返回
顶部