/////////////字符串/**字符串值不可变**/ex:s := "left foot"t := ss += ", 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 := 123y := fmt.Sprintf("%d", x) //格式化返回字符串fmt.Println(y, strconv.Itoa(x)) // "123 123" //用strconv.Itoa()//字符串解析为数字x, err := strconv.Atoi("123") // x is an inty, err := strconv.ParseInt("123", 10, 64) // base 10, up to 64 bits///////////////常量// 常量表达式的值在编译期计算,而不是在运行期,每种常量的潜在类型都是基础类型:boolean、string或数字//常量不可修改//一个常量的声明也可以包含一个类型和一个值,但是如果没有显式指明类型,那么将从右边的表达式推断类型。const noDelay time.Duration = 0const 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常量生成器type Weekday intconst ( Sunday Weekday = iota //初始枚举值是0 Monday //值为1 Tuesday Wednesday Thursday FrIDay Saturday)// 无类型常量//有六种未明确类型的常量类型,分别是无类型的布尔型、无类型的整数、无类型的字符、无类型的浮点数、无类型的复数、无类型的字符串。例如0、0.0、0i和\u0000虽然有着相同的常量值,但是它们分别对应无类型的整数、无类型的浮点数、无类型的复数和无类型的字符等不同的常量类型。同样,true和false也是无类型的布尔类型,字符串面值常量是无类型的字符串类型。//注意有一点不同:无类型整数常量转换为int,它的内存大小是不确定的,但是无类型浮点数和复数常量则转换为内存大小明确的float64和complex128。
总结 以上是内存溢出为你收集整理的GO基础知识(基础数据类型之字符串、常量)全部内容,希望文章能够帮你解决GO基础知识(基础数据类型之字符串、常量)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)