Go 语言:基础语法和常用特性解析(2)| 豆包MarsCode AI刷题

71 阅读2分钟

在前一篇文章中,我们介绍了 Go 语言的基本概念以及如何编写一个简单的 "Hello, World!" 程序。现在,我们将通过一个稍微复杂一点的例子来进一步探讨 Go 语言的一些基础语法和常用特性。这个例子将展示变量声明、类型推断、常量定义以及如何使用标准库中的数学函数。

示例代码

以下是示例代码,我们将逐行解析其功能和背后的语法特点:

package main

import (
	"fmt"
	"math"
)

func main() {

	var a = "initial"

	var b, c int = 1, 2

	var d = true

	var e float64

	f := float32(e)

	g := a + "foo"
	fmt.Println(a, b, c, d, e, f) // 输出: initial 1 2 true 0 0
	fmt.Println(g)                // 输出: initialfoo

	const s string = "constant"
	const h = 500000000
	const i = 3e20 / h
	fmt.Println(s, h, i, math.Sin(h), math.Sin(i))
}

代码解析

变量声明与初始化

  • var a = "initial" :声明并初始化一个字符串类型的变量 a,值为 "initial"
  • var b, c int = 1, 2:同时声明并初始化两个整数类型的变量 bc,分别赋值为 12
  • var d = true:声明并初始化一个布尔类型的变量 d,值为 true
  • var e float64:声明一个浮点数类型的变量 e,但没有初始化,因此默认值为 0.0
  • f := float32(e) :使用短变量声明语法声明并初始化一个 float32 类型的变量 f,其值为 e 转换后的结果,即 0.0

字符串操作

  • g := a + "foo" :将字符串 a"foo" 相连接,形成新的字符串 "initialfoo",并将其赋值给变量 g

标准输出

  • fmt.Println(a, b, c, d, e, f) :输出变量 a, b, c, d, e, f 的值。
  • fmt.Println(g) :输出变量 g 的值,即 "initialfoo"

常量定义

  • const s string = "constant" :定义一个字符串类型的常量 s,值为 "constant"
  • const h = 500000000:定义一个未指定类型的常量 h,值为 500000000。Go 语言会根据值自动推断类型,这里 h 的类型为 int
  • const i = 3e20 / h:定义一个常量 i,计算表达式 3e20 / h 的结果。由于 hint 类型,因此 i 也是 float64 类型。

数学运算

  • fmt.Println(s, h, i, math.Sin(h), math.Sin(i)) :输出常量 s, h, i 以及它们的正弦值。这里使用了 math 包中的 Sin 函数来计算正弦值。

运行程序

我们同样通过Ai练中学功能来展示结果:

图片.png

initial 1 2 true 0 0
initialfoo
constant 500000000 6e+11 -0.9983341664682815 -0.9999999999999999