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 {

}

相关推荐
JaguarJack10 分钟前
现在就值得尝试的 5 个 Laravel 新包
后端·php·laravel·服务端
BingoGo11 分钟前
现在就值得尝试的 5 个 Laravel 新包
后端·php
夏霞15 分钟前
c# 不支持的目标框架 解决方案
开发语言·c#
雄哥00723 分钟前
java代码反编译CFR
java·开发语言·反编译·cfr
PBitW24 分钟前
Travel Planner — 智能旅行行程规划助手
前端·后端
lsylalalala27 分钟前
多线程(2)
java·开发语言·多线程
王川70831 分钟前
Vue3 + uni-app 给商会小程序做一个动态表单引擎(
后端
jimy136 分钟前
右值大类rvalue的xvalue,和 左值大类glvalue的xvalue的区别
开发语言·c++
烂蜻蜓40 分钟前
Flask入门教程(二十四):请求对象API——获取客户端数据的完整指南
后端·python·flask
geovindu41 分钟前
CSharp: Template Method Pattern
开发语言·后端·c#·.net·模板方法模式·行为模式