106Go基础2

基础知识

1、变量声明和赋值

在 Go 语言中,可以使用 var 关键字声明变量,也可以使用 := 运算符进行简短声明。以下是变量声明和赋值的示例代码:

var x int
x = 1

y := 2

2、数据类型

Go 语言支持多种基本数据类型,包括整数、浮点数、布尔值、字符串和复合类型(如数组和结构体)。以下是示例代码:

var a int = 10
var b float32 = 3.14
var c bool = true
var d string = "Hello, World!"
var e [3]int = [3]int{1, 2, 3}

type Person struct {
    Name string
    Age int
}

var p Person = Person{"John", 30}

3、控制流语句

Go 语言支持常见的控制流语句,包括 if、for、switch 和 break/continue。以下是示例代码:

if x > 0 {
    fmt.Println("x is positive")
} else if x < 0 {
    fmt.Println("x is negative")
} else {
    fmt.Println("x is zero")
}

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

switch n {
case 1:
    fmt.Println("One")
case 2:
    fmt.Println("Two")
default:
    fmt.Println("Other")
}

for i := 0; i < 10; i++ {
    if i == 5 {
        break
    }
    fmt.Println(i)
}

4、函数与方法

在 Go 语言中,函数和方法是很重要的概念。函数是独立的代码块,可以接受参数并返回值,方法是与结构体或类型相关联的函数。以下是示例代码:

func add(x, y int) int {
    return x + y
}

type Rectangle struct {
    Width  int
    Height int
}

func (r Rectangle) Area() int {
    return r.Width * r.Height
}

r := Rectangle{Width: 10, Height: 20}
fmt.Println(r.Area())

5、指针

Go 语言支持指针,允许在函数间传递变量的地址,以便在函数中修改变量的值。以下是示例代码:

func zero(x *int) {
    *x = 0
}

var x int = 1
zero(&x)
fmt.Println(x) // Output: 0

6、切片

切片是 Go 语言中非常重要的概念,它是对底层数组的引用,并提供了动态大小的数组。以下是示例代码:

a := []int{1, 2, 3, 4, 5}
b := a[1:3] // [2, 3]
b[0] = 0
fmt.Println(a) // Output: [1, 0, 3, 4, 5]

7、并发

Go 语言的并发模型非常强大,可以使用 go 关键字在新的 goroutine 中执行函数。以下是示例代码:

func sayHello() {
    fmt.Println("Hello")
}

go sayHello() // 在新的 goroutine 中执行 sayHello()

time.Sleep(1 * time.Second) // 等待 goroutine 执行完毕

8、接口

接口是 Go 语言中的一个重要概念,它允许定义方法的集合,并允许类型实现这些方法。以下是示例代码:

type Shape interface {
    Area() float64
}

type Circle struct {
    Radius float64
}

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

var s Shape = Circle{Radius: 10}
fmt.Println(s.Area()) // Output: 314.1592653589793

posted @ 2023-03-17 16:27  __username  阅读(32)  评论(0)    收藏  举报