GO基础知识(基础数据类型之字符串、常量)
go 语⾔注意事项
/////////////字符串
/**
字符串值不可变
**/
ex:
s := "left foot"
t := s
s += ", right foot"
fmt.Println(s) //"left foot, right foot"
fmt.Println(t) //"left foot"
//字符串⾯值,是⽤双引号括起来的
"Hello, 世界"
//⼀个原⽣的字符串⾯值形式是`...`,使⽤反引号代替双引号。
//且字符串内没有转义操作。
const GoUsage = `Go is a tool for managing Go source code.
Usage:
go command [arguments]
...`
//字符串和数字的转换
x := 123
y := fmt.Sprintf("%d", x) //格式化返回字符串
fmt.Println(y, strconv.Itoa(x)) // "123 123" //⽤strconv.Itoa()
//字符串解析为数字
x, err := strconv.Atoi("123") // x is an int
y, err := strconv.ParseInt("123", 10, 64) // base 10, up to 64 bits
///////////////常量
// 常量表达式的值在编译期计算,⽽不是在运⾏期,每种常量的潜在类型都是基础类型:boolean、string或数字
//常量不可修改
//⼀个常量的声明也可以包含⼀个类型和⼀个值,但是如果没有显式指明类型,那么将从右边的表达式推断类型。
const noDelay time.Duration = 0
const timeout = 5 * time.Minute //time.Minute是time.Duration类型的常量
fmt.Printf("%T %[1]v\n", noDelay) // "time.Duration 0"
fmt.Printf("%T %[1]v\n", timeout) // "time.Duration 5m0s"
fmt.Printf("%T %[1]v\n", time.Minute) // "time.Duration 1m0s"
//批量声明常量,除了第⼀个其余均可省略
const (
a = 1
b
c = 2
d
)
fmt.Println(a, b, c, d) // "1 1 2 2"
// iota常量⽣成器
字符串长度17模式串长度type Weekday int
const (
Sunday Weekday = iota //初始枚举值是0
Monday //值为1
Tuesday
Wednesday
Thursday
Friday
Saturday
)
// ⽆类型常量
//有六种未明确类型的常量类型,分别是⽆类型的布尔型、⽆类型的整数、⽆类型的字符、⽆类型的浮点数、⽆类型的复数、⽆类型的字符串。例如0、0.0、0i和\u0000虽然有着相同的常量值,但是它们分别对//注意有⼀点不同:⽆类型整数常量转换为int,它的内存⼤⼩是不确定的,但是⽆类型浮点数和复数常量则转换为内存⼤⼩明确的float64和complex128。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论