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 {

}

相关推荐
特立独行的猫a3 小时前
Windows安装Rust环境 Clang替代GCC MinGW环境LLVM工具链(详细教程)
开发语言·windows·rust·mingw·环境搭建·llvm
万少6 小时前
DeepSeek 昨晚刚开源了 Harness:附万少的2 万字保姆级教程
前端·后端·架构
m0_720245019 小时前
1543.统计好三元组(简单)
开发语言·算法
大鸡腿同学10 小时前
身弱体质|你的 FM 该关了📻
后端
叠层归一研究院10 小时前
AGI 系统(八):符号范畴嵌入函子 — SymCat ↪ C_M107 严格化
c语言·开发语言·人工智能·算法·transformer·agi
明朝百晓生11 小时前
Deep RL learning[2026/8]
开发语言·javascript·人工智能
Csvn11 小时前
📊 SQL 入门 Day 18:索引原理
后端·sql
Csvn11 小时前
🐍 Day3 : Python 容器精讲 — list、dict、set、tuple 底层实现与高级操作
后端·python
用户9385156350711 小时前
ESLint 代码规范完全指南——从 AST 原理到 flat config 逐行解析
javascript·后端·代码规范
用户9385156350711 小时前
深入理解 Next.js:从 SPA 的 SEO 问题到约定式路由与 SSR 原理
前端·后端·全栈