day1 go语言基础| 青训营

70 阅读2分钟

1.变量的几种命名方式

// var 表示常量
var a = 1
var b = "initial"//!!!注意go里面的字符串是要用双引号""或者反引号``,不能用单引号
var c int = 1
d := 1 //这种方式舍弃了var,不过需要使用 :=

// const 表示变量
const e = 1 

2.if-else

//这里没什么好说的,注意格式就行
   if a := 10; a> 10{
    fmt.Println("大于10")
    }else if a <10{
    fmt.Println("小于10")
    }else{
    fmt.Println("等于10")
    }

3.唯一的循环for

//下面是一个简单的循环,如果不加break就是一个死循环
   for {
      fmt.Println(`nihao`)
      break
   }
//条件循环
   for i := 7;i < 9; i++{
      fmt.Println(i)
   }

//从150所有的偶数
 for i := 1;i<=50;i++{
      if i%2==0{
         fmt.Println(i)
      }else{
         continue
      }
   }

4.数组

func main() {
   var a [5]int
   a[3] = 100
   fmt.Println(a)
}

[0 0 0 100 0] 如果定义数组不指定元素,会默认为0

	var toD [2][3]int
	for i := 0; i < 2; i++ {
		for j := 0; j < 3; j++ {
			toD[i][j] = i + j
		}
	}
	fmt.Println(toD)

[[0 1 2] [1 2 3]] 定义数组时,需要声明类型,否则报错

5.切片slice

slice是对底层数组的一种引用,用法也比较灵活,可以参考Python中的list; 由三个组件组成:首位置的指针,长度和容量

1.创建

// 使用字面量创建slice 
s := []int{1, 2, 3, 4, 5} 
// 使用make函数创建指定长度为5、容量为10的slice 
s := make([]int, 5, 10)

2.获取slice的长度和容量

length := len(s) 
capacity := cap(s)

3.复制

newSlice := make([]int, len(s)) 
copy(newSlice, s)

4.添加元素到末尾

s = append(s, 6, 7, 8)

在这里简单区分一下长度和容量:

  • 长度指的就是这个切片实际的长度
  • 容量指的是切片关联的底层数组的实际大小 举个例子,如果s的长度为3,底层数组大小是5,这时候添加两个元素都没问题; 但是如果继续添加,那么原来数组的容量就不够了,需要重新指定一个够大的数组