Go课程2

go的函数

函数的主要作用是封装代码,

go可以返回多个值

func hello() (string, string) {

return "123", "123"

}

go 的函数中可以使用变量把函数定义为一个变量,py和js也可以

var getname = func () string{

return "大大怪"

}

go中可以把map的值变成value

闭包(匿名函数)

你可以在函数里面定义一个匿名函数,这个匿名函数可以使用自己作用域外面的变量

go语言的结构

package main // 这是go语言的包,每个文件/程序都需要,说明自己是哪个包的文件,而main是一个单独可以运行的包

使用别人的包需要使用import导入,

变量,函数的大小写控制在包内/包外的可见性,没写只能在本个包中被访问

go语言不需要结束标识符挺好

指针

go中的指针和C语言中的很像

var name string

ptr = &name(获取name的实际物理地址)

使用%x来作为占位符代替打印地址

使用地址存储的变量可以使用*ptr来获取

空指针nil,一个没有被定义的指针就是空值

ptr == nil

ptr != nil

Go结构体,也是C语言学习到的,在结构体中定义多个不同类型的元素

type Books struct{

name string

id string

date string

}

使用":"格式来定义结构体

fmt.Println(Books{title: "Go 语言", author: "www.runoob.com", subject: "Go 语言教程", book_id: 6495407})

使用名称.变量来获取

var book Books

book.name = "哈利波特与魔法石"

结构体也可以有指针

range关键字用来返回索引和索引对应的值

for key, value := range oldMap

如果哪个不需要可以用_表示不需要,因为go必须要使用,不然报错

遍历字符串:

for index, ch := range "string"

map1 := make(mapintfloat)

for key, value := range map1 {

}

通道(Channel)

chan1 = make(chan int, 2)

chan1 <- 1

chan1 <- 2

close(chan1)

for value := range chan1 {

}

相关推荐
奶糖 肥晨1 小时前
一次Spring Boot编译报错排查:三元运算符与包装类型的“隐形陷阱”
java·spring boot·后端
To_OC1 小时前
拼路径读文件总踩坑?我把 Node 的 path 和 fs 彻彻底底捋了一遍
javascript·后端·node.js
卷无止境1 小时前
Python生成器与惰性求值:从yield说起的一场"暂停魔法"
后端·python
Tirzano2 小时前
java 精简使用ffmpeg
java·开发语言·ffmpeg
卷无止境2 小时前
从一个装饰器说起:拆解 Python 的 @property
后端·python
农村小镇哥2 小时前
python操作配置文件ini
开发语言·python
一只小小Java3 小时前
Naocs本地部署&安装3.2.3+Spring boot 3.2.0
java·spring boot·后端·nacos
神明不懂浪漫3 小时前
【第七章】Java中的常用类
java·开发语言·前端·经验分享·笔记
码兄科技11 小时前
实战:基于Spring Boot + UniApp的地理信息小程序开发
spring boot·后端·uni-app