语法
const s string = "Hello"
const a, b = 3, 4
const (
s1 = "golang"
c = 5
MAX = 10
)
//说明:
1.不指定类型的常量,则它的类型是不确定的,可以当作各种类型使用。(也就是替换)
2.常量的话,我们不使用,它也是不会报错的!
3.常量的值是不可被改变的;
4.在go里,常量的值首字母要用小写(类似面向对象里的private),大写表示特殊含义(类似面向对象里的public,可导出的-->就是这个常量可以导出在外面的包里进行使用); --区别于其他编程语言;
例子
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()
}
语法
枚举:
const (
Monday = 1 + iota
Tuesday
Wednesday
Thursday
Friday
Staurday
Sunday
)
//说明
1.枚举是一种特殊的常量,可以通过iota快速设置连续的值
2.枚举在生活里还是比较常见的,例如星期只能是周一到周日,人的性别只能是男/女;
案例
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()
}
语法
类型定义与别名:
type MyInt1 int // 类型定义,工作里,这个用的比较多!
type MyInt2 = int // 类型别名
var i int = 1
var i1 MyInt1 = MyInt1(i)
var i2 MyInt2 = i
//说明
1.类型定义基于类型创建的一个新类型,主要提高代码可读性;
2.类型别名基于类型创建的一个别名,和原类型完全一样,主要用于包兼容; //1.9版本之后新增的一个特性
3.类型定义是一个新的类型了,所以类型转换的时候必须强制类型转换。
案例
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()
}
注意:类型别名,工作里虽然用的少点,但是我们要知道这种语法的哦!
我的博客主旨:
个人微信二维码:x2675263825 (舍得), qq:2675263825。
个人微信公众号:《云原生架构师实战》
个人csdn
https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421
个人博客:(www.onlyyou520.com)
已开源干货
语雀:https://www.yuque.com/go/doc/73723298?#
好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!
-gNStrIrt-1652138547785)]
已开源干货
语雀:https://www.yuque.com/go/doc/73723298?#
[外链图片转存中…(img-4RtfqksI-1652138547786)]
好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!