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 {

}

相关推荐
子兮曰20 小时前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰20 小时前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
小羊没烦恼!21 小时前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
爱勇宝21 小时前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
胡写代码21 小时前
别再前后端各写一套表单校验了
java·后端
伞伞悦读1 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
ttwuai1 天前
Go开源后台管理系统推荐:怎么按技术栈和边界比较4个官方仓库?
golang·gin
大勇前进1 天前
原生 PHP 还是 Laravel?小项目到底要不要上框架
后端
yuzhi_liu1 天前
我用 LangGraph4j 实现 Multi-Agent Supervisor
后端
alsmile1 天前
Node-RED 之外,国产规则引擎的新方案:基于标准语法,Go 先行实现
后端·开源·go