Go语言入门教程(3.常量、for)

193 阅读1分钟

这是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语言之旅》