golang之常量、枚举、变量定义与别名

golang之常量、枚举、变量定义与别名_第1张图片

1、常量

语法

const s string = "Hello"
const a, b = 3, 4
const (
    s1  = "golang"
    c   = 5
    MAX = 10
)

//说明:
1.不指定类型的常量,则它的类型是不确定的,可以当作各种类型使用。(也就是替换)
2.常量的话,我们不使用,它也是不会报错的!
3.常量的值是不可被改变的;
4.go里,常量的值首字母要用小写(类似面向对象里的private),大写表示特殊含义(类似面向对象里的public,可导出的-->就是这个常量可以导出在外面的包里进行使用)--区别于其他编程语言;

例子

golang之常量、枚举、变量定义与别名_第2张图片

package main

import (
	"fmt"
	"math"
)

// 可导出后的MAX常量
const (
	s1  = "golang"
	MAX = 10
)

func constDemo() {
	const s string = "Hello xyy"
	const a, b = 3, 4
	fmt.Println(s, a, b)
	var c int
	c = int(math.Sqrt(a*a + b*b))
	fmt.Println(c)
	// max = 6
	fmt.Println(s1, MAX)
}

func main() {
	constDemo()
}

2、枚举

语法

枚举:
const (
    Monday = 1 + iota
    Tuesday
    Wednesday
    Thursday
    Friday
    Staurday
    Sunday
)
//说明
1.枚举是一种特殊的常量,可以通过iota快速设置连续的值
2.枚举在生活里还是比较常见的,例如星期只能是周一到周日,人的性别只能是男/女;

案例

golang之常量、枚举、变量定义与别名_第3张图片

package main

import (
	"fmt"
)

func enumDemo() {
	const (
		monday = 1 + iota
		tuesday
		wednesday
		thursday
		friday
		saturday
		sunday
	)
	fmt.Println(sunday, monday, tuesday, wednesday, thursday, friday, saturday)
}

func main() {
	enumDemo()

}

3、类型定义与别名

语法

类型定义与别名:

type MyInt1 int // 类型定义,工作里,这个用的比较多!
type MyInt2 = int // 类型别名

var i int = 1
var i1 MyInt1 = MyInt1(i)
var i2 MyInt2 = i

//说明
1.类型定义基于类型创建的一个新类型,主要提高代码可读性;
2.类型别名基于类型创建的一个别名,和原类型完全一样,主要用于包兼容; //1.9版本之后新增的一个特性
3.类型定义是一个新的类型了,所以类型转换的时候必须强制类型转换。

案例

golang之常量、枚举、变量定义与别名_第4张图片

package main

import "fmt"

func typeDefAndalias() {
	type MyInt1 int   // 基于int定义的一个新的类型
	type MyInt2 = int // MyInt2和int就是完全一样的

	var i int = 1
	var i1 MyInt1 = MyInt1(i)
	var i2 MyInt2 = i
	fmt.Println(i1, i2)
}

func main() {
	typeDefAndalias()
}

注意:类型别名,工作里虽然用的少点,但是我们要知道这种语法的哦!

golang之常量、枚举、变量定义与别名_第5张图片

关于我

我的博客主旨:

  • 排版美观,语言精炼;
  • 文档即手册,步骤明细,拒绝埋坑,提供源码;
  • 本人实战文档都是亲测成功的,各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人帮您解决问题,让我们一起进步!
  1. 个人微信二维码:x2675263825 (舍得), qq:2675263825。

    golang之常量、枚举、变量定义与别名_第6张图片

  2. 个人微信公众号:《云原生架构师实战》

    golang之常量、枚举、变量定义与别名_第7张图片

  3. 个人csdn

    https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421

    golang之常量、枚举、变量定义与别名_第8张图片

  4. 个人博客:(www.onlyyou520.com)

  5. 已开源干货

    语雀:https://www.yuque.com/go/doc/73723298?#

    golang之常量、枚举、变量定义与别名_第9张图片

最后

好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!
-gNStrIrt-1652138547785)]

  1. 已开源干货

    语雀:https://www.yuque.com/go/doc/73723298?#

    [外链图片转存中…(img-4RtfqksI-1652138547786)]

最后

好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!

你可能感兴趣的:(go,golang)