Go 基础语法

Go(也叫Golang)是一种由Google开发的编程语言,以其简洁、高效和并发处理能力强而广受欢迎。以下是一些Go语言的基础语法:

1. 基本结构

Go程序由package、import和main函数组成。main函数是程序的入口。

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

2. 变量声明

Go中变量声明可以通过var关键字、:=简短声明语法来进行。

使用var声明变量:
var x int
x = 10
使用:=简短声明:

x := 10

3. 数据类型

Go有多种基本数据类型:

整数类型:int, int8, int16, int32, int64等。
浮动点类型:float32, float64。
布尔类型:bool。
字符串类型:string。

var age int = 30
var name string = "Go"
var price float64 = 19.99

4. 常量

常量使用const声明:

const Pi = 3.14

5. 控制结构

Go的控制结构包括if、else、for、switch等。

if语句:

if x > 0 {
    fmt.Println("Positive")
} else {
    fmt.Println("Non-positive")
}
for循环:

for i := 0; i < 5; i++ {
    fmt.Println(i)
}
switch语句:

switch day := 3; day {
case 1:
    fmt.Println("Monday")
case 2:
    fmt.Println("Tuesday")
default:
    fmt.Println("Other day")
}

6. 函数

Go中函数的定义和调用很简单。函数定义如下:

func add(a int, b int) int {
    return a + b
}

result := add(5, 3)
fmt.Println(result)

如果多个参数类型相同,可以省略后面的类型:

func add(a, b int) int {
    return a + b
}

7. 数组和切片

数组: 数组长度是固定的,声明数组时需要指定长度。

var arr [3]int = [3]int{1, 2, 3}
切片: 切片是动态数组,可以随时扩展。

var slice []int = []int{1, 2, 3}
slice = append(slice, 4)
fmt.Println(slice)

8. 结构体

结构体是自定义数据类型,包含多个字段。

type Person struct {
    Name string
    Age  int
}

var p Person
p.Name = "John"
p.Age = 30

9. 方法

Go中的方法是与特定类型绑定的函数。

type Circle struct {
    Radius float64
}

func (c Circle) Area() float64 {
    return 3.14 * c.Radius * c.Radius
}

var c Circle
c.Radius = 5
fmt.Println(c.Area())

10. 并发(goroutines和channels)

Go的并发通过goroutines和channels实现。goroutine是轻量级的线程,可以并发执行。

创建goroutine:

go func() {
    fmt.Println("Hello from goroutine")
}()
channels:

ch := make(chan int)

go func() {
    ch <- 42
}()

result := <-ch
fmt.Println(result)

11. 错误处理

Go不使用异常处理,而是通过返回错误值来处理异常情况。

func divide(a, b int) (int, error) {
    if b == 0 {
        return 0, fmt.Errorf("cannot divide by zero")
    }
    return a / b, nil
}

result, err := divide(10, 0)
if err != nil {
    fmt.Println("Error:", err)
} else {
    fmt.Println("Result:", result)
}

这些是Go的基础语法。如果你有更具体的需求或问题,随时可以问我!

posted @ 2025-02-24 16:41  泥鳅炖土豆  阅读(158)  评论(0)    收藏  举报