Go程序设计语言-基本数据

Go的4种数据类型:

1)基础类型: 数字, 字符串, 布尔类型
2)聚合类型: 数组, 结构体
3)引用类型: 指针, slice, map, 函数, 通道 (全都间接指向程序变量或状态)
4)接口类型

算术运算 % 和 /

1)算术运算符 +, -, *, / 可以应用于整数, 浮点数和复数, 而取模运算符 % 只能应用于整数
2)Go中, 取模余数的正负号总是与被除数一致
3)除法运算的行为取决于操作数是否都为整型

-5%3    // -2
-5%-3   // -2
5.0/4.0 // 1.25
5/4     // 1

输出格式%[1]和#

% 后面的副词 [1] 告知 Printf 重复使用第一个操作数
%o, %x 或%X 之前的副词#告知 Printf 输出相应的前缀 0, 0x 或 0X

o := 0666
fmt.Printf("%d %[1]o %#[1]0\n",o) // "438 666 0666"
x := int64(0xdeadbeef)
fmt.Printf("%d %[1]x %#[1]x %#[1]X\n",x) // "3735928559 deadbeef 0xdeadbeef 0Xdeadbeef"

优先级

优先级的降序排列如下:
1)* / % << >> & &^
2)+ - | ^
3)== != < <= > >=
4)&& ( && 较 || 优先级更高)
5)||

常量声明

声明一组常量, 除了第一项之外, 其他项在等号右侧的表达式都可以省略, 表示会复用前面一项的表达式以及类型

const (
    a =1
    b
    c =2
    d
)
fmt.Println(a, b, c, d) // 1 1 2 2

常量生成器iota, 其可以创建一系列相关值, 而不是逐个值显式写出.常量声明中, iota 从0开始取值, 逐项加1

type Weekend int
const (
    Sunday Weekend = iota
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
)
// Sunday为0, Monday为1,依次类推
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《Go语言设计与实现》是一本专门介绍Go语言设计和实现原理的书籍,由Alan A. A. Donovan和Brian W. Kernighan联合撰写,共计460页。这本书分为五部分,分别是Go编程基础、Go语言编译器、运行时、标准库以及Go语言实践。 其中第一部分介绍了Go语言的基础知识,包括基本语法、数据类型、函数、指针等,适合新手入门学习,同时也会深入探讨一些高级的概念,如接口、协程和并发编程等。 第二部分主要介绍了Go语言编译器的结构和原理,包括词法分析器、语法分析器、类型检查器和代码生成器等,了解这些内容对于理解Go语言的底层原理和运行机制非常有帮助。 第三部分主要讲解了Go语言的运行时系统,包括垃圾回收机制、并发调度、信道和调试器等,这些内容对于编写高质量的Go程序非常有帮助。 第四部分则介绍了Go标准库的使用方法和实现原理,包括各种常用的包和工具,如IO、网络、加密、时间等。 最后一部分是针对Go语言的实践经验,介绍了常见的编程技巧和注意事项,让读者可以更加高效地使用Go语言进行编程。 总的来说,《Go语言设计与实现》这本书对于想要深入了解Go语言的开发者来说是一本非常优秀的参考书籍,不仅涵盖了Go语言的基础知识,更深入探讨了Go语言的底层原理和实现机制,对于提高开发者的编程能力和思维能力有着非常重要的作用。 ### 回答2: 《Go语言设计与实现》是一本介绍Go语言原理和实现的高水平著作。本书共分为4个部分,分别是语言结构、并发机制、包与工具、运行时。作者深入浅出地介绍了Go语言的设计理念和内部机制,探讨了其中的思考过程,分析了Go语言的实现细节和底层结构,以及Go语言执行和并发机制的工作原理。 本书的第一部分从基本语言构造开始,介绍语言的元素,包括类型定义、变量、常量、函数、程序流程控制等等,把Go语言的基础打牢,为后续学习打下坚实的基础。第二部分重点介绍了Go语言的并发模型,包括goroutine、channel等等,让读者深入理解Go语言优秀的并发特性。第三部分讲解了Go语言的包管理和工具,并讲解了编写、测试、部署的全流程。 第四部分讲解了Go语言的运行时机制,包括垃圾收集、内存管理等等,让读者明白Go语言是如何运行的。 此外,《Go语言设计与实现》还介绍了过程组合和错误处理的方法、数据结构、系统调用等,让读者领略到Go语言的强大和优雅之处。 总之,这本书很适合想深入学习Go语言的人阅读。它既介绍了Go语言如何应用,又剖析了Go语言内部机制。如果你希望更好地掌握Go语言的使用和原理,这本书值得一读。 ### 回答3: Go语言设计与实现是Go语言的正式指导性文档,首次发布于2012年。这个文档的目的是深入阐述Go语言的语法、语义、并发、类型、包、测试、编译、运行时和标准库等方面。Go语言的成功归因于其简洁、高效、可靠和易用的特性,这个文档展示了这些特性背后的原理和设计思想。 该文档被分为三个部分:语言规范、包实现和编译器实现。第一部分介绍了Go语言的语法和语义,包括基本类型、函数、变量、控制结构、方法、接口、通道,以及内存模型、类型转换和运算等。第二部分描述了Go语言包的机制和设计,包括包的导入、可见性、包初始化、错误处理、包的生命周期、安全问题和包的组织等。第三部分为编译器的实现提供了详尽的说明,包括词法分析、语法分析、类型检查、代码生成和链接等过程。此外,该文档还包含了一些实例代码,可以帮助开发者更好地理解Go语言。 Go语言设计与实现的特点在于其详细描述了Go语言的底层实现,而不仅仅是语言的语法和库函数。这有助于开发者更好地理解Go语言的设计,更好地利用Go语言的特性编写高效的代码。同时,该文档也是Go语言社区的重要参考资料,为Go语言的发展和推广做出了巨大的贡献。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值