Go学习笔记

Golang

基础

HelloWord.go

package main

import "fmt"

func main() {
    fmt.Print("Hello world")
}

  • 可以直接在终端使用 go run name.go 运行该文件。
  • 使用go build name.go 可以编译成相应平台的可执行文件(如:在windwos上可以生成name.exe,在Mac上生成name.sh)

  • 当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Group1,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public);标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 protected )

关键字

break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return switcvarh

变量

声明格式:

//生命变量的第一种方式
var name string
name = "熊禹"
println(name)

// 第二种  自动判断类型
var value = "value"
println(value)

//  第三种 省略var, 注意 :=左侧的变量不应该是已经声明过的,否则会导致编译错误
addrt := "四川"


println(addrt)


常量的定义

如果两个const的赋值语句的表达式是一样的,那么可以省略后一个赋值表达式。

const(
    a=iota
    b
    c
)

同Go语言的其他符号(symbol)一样,以大写字母开头的常量在包外可见。

切片

创建

  • Go语言支持用myArray[first:last]这样的方式来基于数组生成一 个数组切片,而且这个用法还很灵活,比如下面几种都是合法的。
  • 基于myArray的所有元素创建数组切片: mySlice = myArray[:]

  • 基于myArray的前5个元素创建数组切片:mySlice = myArray[:5]

  • 基于从第5个元素开始的所有元素创建数组切片:mySlice = myArray[5:]

直接创建

并非一定要事先准备一个数组才能创建数组切片。Go语言提供的内置函数make()可以用于
灵活地创建数组切片。下面的例子示范了直接创建数组切片的各种方法。 创建一个初始元素个数为5的数组切片,元素初始值为0:
mySlice1 := make([]int, 5) 创建一个初始元素个数为5的数组切片,元素初始值为0,并预留10个元素的存储空间:
mySlice2 := make([]int, 5, 10) 直接创建并初始化包含5个元素的数组切片:
mySlice3 := []int{1, 2, 3, 4, 5} 当然,事实上还会有一个匿名数组被创建出来,只是不需要我们来操心而已。

myArray:=[]int{1,2,3,4,5,6,7,}

fmt.Println(myArray[:5])

mSlice:=make([]int ,5)
for index := range mSlice {
    mSlice[index]=index
}

fmt.Println(mSlice)

mSlice=append(mSlice,1,2,3)

//需要注意的是,我们在第二个参数myArray后面加了三个点,即一个省略号,如果没有这个省 略号的话,会有编译错误,因为按append()的语义,从第二个参数起的所有参数都是待附加的 元素。因为myArray中的元素类型为int,所以直接传递mySlice2是行不通的。加上省略号相 7 当于把myArray包含的所有元素打散后传入。
mSlice=append(mSlice,myArray[:5]...)

发表评论

电子邮件地址不会被公开。 必填项已用*标注