Go语言基础语法 - 01

104 阅读3分钟

Hello World

package main

import {
"fmt"
}

func main(){
	fmt.Println("hello world")
}

第一行 package main 代表这个文件属于 main包的一部分,main包是程序的入口包。 2. 第三行导入了标准库中的 fmt 包。这个包主要用于在屏幕上输入输出字符串、格式化字符串。 3. import 下面是 main 函数,main函数中调用了 fmt.Println 输出 "Hello, World!"。

要运行这个程序,可以直接使用 go run helloworld.go。如果想编译成二进制文件,可以使用 go build 来编译。编译完成后,直接运行 ./helloworld 即可。

变量

Go 语言是一门强类型语言,每一个变量都有它自己的变量类型。常见的变量类型包括字符串、整数、浮点型、布尔型等。

package main

import (
    "fmt"
    "math"
)

func main() {
    var a = "initial" // 声明字符串变量 a,并初始化为 "initial"
    var b, c int = 1, 2 // 声明两个整数变量 b 和 c,并初始化为 1 和 2
    var d = true // 声明布尔变量 d,并初始化为 true
    var e float64 // 声明浮点型变量 e,未初始化,默认值为 0
    f := float32(e) // 使用短变量声明方式声明浮点型变量 f,并将 e 转换为 float32 类型
    g := a + "foo" // 字符串拼接,g 的值为 "initialfoo"

    fmt.Println(a, b, c, d, e, f) // 输出变量的值:initial 1 2 true 0 0
    fmt.Println(g) // 输出 g 的值:initialfoo

    const s string = "constant" // 声明字符串常量 s,值为 "constant"
    const h = 500000000 // 声明整数常量 h,值为 500000000
    const i = 3e20 / h // 声明浮点型常量 i,值为 3e20 / h
    fmt.Println(s, h, i, math.Sin(h), math.Sin(i)) // 输出常量的值及其计算结果
}

变量声明

在 Go 语言中,变量的声明有两种方式:

  1. 使用 var 关键字:

    var name string = "example"

    在声明变量时,Go 语言会自动推导变量的类型。如果需要,也可以显式指定变量类型。

  2. 使用短变量声明方式:

    name := "example"

    这种方式使用变量名、冒号 := 和值来声明变量,类型由编译器自动推导。

常量声明

常量的声明使用 const 关键字:

const pi = 3.14

值得一提的是,Go 语言中的常量没有确定的类型,会根据使用的上下文来自动确定类型。

通过这个例子,我们可以看到 Go 语言中变量和常量的声明方式,以及不同类型变量的使用方法。字符串可以直接通过加号拼接,也可以用等于号比较。大部分运算符的使用和优先级与 C 或 C++ 类似。

控制循环结构

package main

import "fmt"

func main() {
    i := 1 // 使用短变量声明方式声明整数变量 i,并初始化为 1

    // 无限循环,直到遇到 break 语句
    for {
        fmt.Println("loop")
        break // 退出循环
    }

    // 传统的 for 循环,类似于 C 或 C++
    for j := 7; j < 9; j++ {
        fmt.Println(j) // 输出 7 和 8
    }

    // 使用 continue 跳过循环中的某些迭代
    for n := 0; n < 5; n++ {
        if n%2 == 0 {
            continue // 跳过当前迭代
        }
        fmt.Println(n) // 输出 1, 3
    }

    // 类似于 while 循环
    for i <= 3 {
        fmt.Println(i) // 输出 1, 2, 3
        i = i + 1
    }
}

控制结构

Go 语言中的 if-else 语句与 C 或 C++ 类似,但有以下不同点:

  1. if 后面没有括号。如果你写括号,编辑器会自动去掉。
  2. if 语句后面必须接大括号,不能像 C 或 C++ 一样直接把 if 里面的语句写在同一行。

例如:

if condition {
    // 代码块else {
    // 代码块
}

循环结构

Go 语言中的 for 循环有多种形式:

  1. 无限循环:
for {
    // 代码块
    break // 退出循环
}
  1. 传统的 for 循环:
for i := 0; i < 10; i++ {
    // 代码块
}
  1. 类似于 while 循环:
for i <= 10 {
    // 代码块
    i++
}