返回go语言的基础语法知识
时间: 2024-04-24 19:03:30 浏览: 11
1. 变量和常量声明
Go语言中,使用var关键字声明变量,常量使用const关键字声明。
```
var name string = "Tom"
var age int = 18
const pi = 3.14
```
2. 数据类型
Go语言中,基本数据类型包括整型、浮点型、布尔型、字符串型等。
```
var num int = 10
var f float64 = 3.14
var flag bool = true
var str string = "hello world"
```
3. 控制语句
Go语言中,支持if、for、switch等控制语句。
```
if num > 0 {
fmt.Println("positive")
} else {
fmt.Println("negative")
}
for i := 0; i < 10; i++ {
fmt.Println(i)
}
switch num {
case 1:
fmt.Println("one")
case 2:
fmt.Println("two")
default:
fmt.Println("others")
}
```
4. 函数
Go语言中,使用func关键字定义函数。
```
func add(a, b int) int {
return a + b
}
result := add(1, 2)
fmt.Println(result)
```
5. 包和导入
Go语言中,使用package关键字定义包,使用import关键字导入包。
```
package main
import "fmt"
func main() {
fmt.Println("hello world")
}
```
6. 结构体和方法
Go语言中,使用type关键字定义自定义结构体,可以给结构体定义方法。
```
type Person struct {
name string
age int
}
func (p Person) sayHello() {
fmt.Println("hello, my name is", p.name)
}
p1 := Person{name: "Tom", age: 18}
p1.sayHello()
```
7. 指针
Go语言中,使用&符号获取变量的地址,使用*符号获取指针指向的值。
```
num := 10
ptr := &num
fmt.Println(*ptr)
```
8. 数组和切片
Go语言中,使用[]定义数组和切片,数组长度固定,切片长度可变。
```
arr := [3]int{1, 2, 3}
slice := []int{1, 2, 3}
```
9. map
Go语言中,使用map关键字定义map。
```
m := make(map[string]int)
m["one"] = 1
m["two"] = 2
fmt.Println(m["one"])
```
10. 接口
Go语言中,使用interface关键字定义接口,一个类型只要实现了接口中定义的所有方法,就可以被认为是实现了该接口。
```
type Shape interface {
area() float64
}
type Rectangle struct {
width float64
height float64
}
func (r Rectangle) area() float64 {
return r.width * r.height
}
r := Rectangle{width: 10, height: 5}
var s Shape = r
fmt.Println(s.area())
```