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 {

}

相关推荐
Joy T3 小时前
Agent 确定性上下文设计:从 Prompt 参数注入到能力分层
java·开发语言·微服务·架构·prompt·agent context
专注仿真7 小时前
引擎扩展性与集成设计深度剖析:从 14 个扩展点到 DIS→HLA 演进之路
开发语言·算法·仿真引擎·推演引擎
Best-Wishes7 小时前
科来网络分析系统(技术交流版)使用说明书
开发语言·junit·php
代码不停7 小时前
自动化测试(java)
java·开发语言·selenium·自动化
行百里er8 小时前
Redis 完结篇——Redis 热点问题在 Spring Boot 项目中实战
redis·后端
高频因子挖掘机9 小时前
只取最近 60 个交易日,却每次拉全历史:量化脚本变慢的原因与改法
后端·github·api
鬼手点金9 小时前
opencode-rules 插件
java·开发语言·前端·人工智能·chrome·git·github
爱上网的小舟9 小时前
星际战士2启动错误怎么办?5种游戏报错解决方法
开发语言·php
孟健10 小时前
从5000亿Token到83%字节匹配:AI逆向工程与重构的工程闭环实践
后端·架构·ai编程
阿里嘎多学长10 小时前
2026-10-12 GitHub 热点项目精选
开发语言·程序员·github·代码托管