这是sylu计算机协会第一次技术征文活动
说在前面:
- 🤖本人初学golang,并非什么大佬
- 😆我喜欢分享一些刚掌握的知识,你也可以说我“一瓶子不满半瓶子逛”
- 🥰我很乐于接受批评,如果你觉得我有哪里说的不对,或者哪里说的不好,都很欢迎你来指正
常量
- 常量的声明与变量类似,只不过是使用
const关键字。 - 常量可以是字符、字符串、布尔值或数值。
- 常量不能用
:=语法声明。 - 数值常量是高精度的 值。
- 一个未指定类型的常量由上下文来决定其类型。
- (
int类型最大可以存储一个 64 位的整数,根据平台不同有时会更少。)
举例:
import "fmt"
const (
// 将 1 左移 100 位来创建一个非常大的数字
// 即这个数的二进制是 1 后面跟着 100 个 0
Big = 1 << 100
// 再往右移 99 位,即 Small = 1 << 1,或者说 Small = 2
Small = Big >> 99
)
func needInt(x int) int { return x*10 + 1 }
func needFloat(x float64) float64 {
return x * 0.1
}
func main() {
fmt.Println(needInt(Small))
fmt.Println(needFloat(Small))
fmt.Println(needFloat(Big))
}
//////////////////
输出:
21
0.2
1.2676506002282295e+29
for
Go 只有一种循环结构:for 循环。
写个简单的 for 循环:
package main
import "fmt"
func main() {
sum := 0
for i := 0; i < 10; i++ {
sum += i
}
fmt.Println(sum)
}
//////////////////
输出:
45
-
基本的
for循环由三部分组成,它们用分号隔开:i := 0初始化语句:在第一次迭代前执行- (初始化语句通常为一句短变量声明,该变量声明仅在
for语句的作用域中可见。)
- (初始化语句通常为一句短变量声明,该变量声明仅在
i < 10条件表达式:在每次迭代前求值- 一旦条件表达式的布尔值为
false,循环迭代就会终止。
- 一旦条件表达式的布尔值为
i++后置语句:在每次迭代的结尾执行
-
三部分中,初始化语句和后置语句是可选的,所以本例也可以写做:
package main import "fmt" func main() { sum := 1 for sum < 1000 { sum += sum } fmt.Println(sum) } -
顺带一提,无限循环可以写得很紧凑:
package main func main() { for { } } ////////////////// 报错: timeout running program
本文学习思路与示例代码参考自《Go语言之旅》