go学习

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package main
 
import  "fmt"
 
func main() {
     f :=  make ([][]int,5)   //  初始化
 
     for  i:=0; i<5; i++ {
         f[i] =  make ([]int,6)  //  多维slice 还得再初始化
         for  j:=0; j<6; j++ {
             f[i][j] = 8
         }
     }
 
     fmt .Println(f)
 
     show(k,8,9)
}
 
func show(x func(int,int),i,j int) {    // 函数做参数
         x(i,j)
}
 
func k(a,b int) {
         fmt .Println(a*b)
 
}

结果

1
2
3
# go run a.go 
[[8 8 8 8 8 8] [8 8 8 8 8 8] [8 8 8 8 8 8] [8 8 8 8 8 8] [8 8 8 8 8 8]]
72

上面的二维slice类似go网站的习题.

https://tour.go-zh.org/moretypes/15


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package main
 
import  "fmt"
import  "strconv"
 
func main() {
     k := map[int][]string{}   //  key:value ==> int:[]string
     k[1] =  make ([]string,5)   //  init slice
     k[2] =  make ([]string,5)
     for  i:=0;i<5;i++ {
         k[1][i] = strconv.Itoa(i+i+100)   // 数字到字符串
         k[2][i] = string(i*i+60)   // 直接这样是到单字符了
     }
     for  _, b := range k {
         fmt .Println(b)
     }
     fmt .Println(string(102))
     fmt .Println(string(1020))
         a := string(102)
         fmt .Println([]byte(a)[0])    
}

结果

1
2
3
4
5
6
# go run z.go 
[100 102 104 106 108]
[< = @ E L]
f
102



本文转自 nonono11 51CTO博客,原文链接:http://blog.51cto.com/abian/1905987,如需转载请自行联系原作者
相关文章
|
程序员 Go 云计算
2023年学习Go语言是否值得?探索Go语言的魅力
2023年学习Go语言是否值得?探索Go语言的魅力
|
缓存 NoSQL Go
通过 SingleFlight 模式学习 Go 并发编程
通过 SingleFlight 模式学习 Go 并发编程
|
10月前
|
数据采集 监控 Java
go语言编程学习
【11月更文挑战第3天】
162 7
|
10月前
|
设计模式 测试技术 Go
学习Go语言
【10月更文挑战第25天】学习Go语言
142 4
|
JSON 中间件 Go
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
本文详细介绍了如何在Go项目中集成并配置Zap日志库。首先通过`go get -u go.uber.org/zap`命令安装Zap,接着展示了`Logger`与`Sugared Logger`两种日志记录器的基本用法。随后深入探讨了Zap的高级配置,包括如何将日志输出至文件、调整时间格式、记录调用者信息以及日志分割等。最后,文章演示了如何在gin框架中集成Zap,通过自定义中间件实现了日志记录和异常恢复功能。通过这些步骤,读者可以掌握Zap在实际项目中的应用与定制方法
545 1
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
|
编译器 Go
go语言学习记录(关于一些奇怪的疑问)有别于其他编程语言
本文探讨了Go语言中的常量概念,特别是特殊常量iota的使用方法及其自动递增特性。同时,文中还提到了在声明常量时,后续常量可沿用前一个值的特点,以及在遍历map时可能遇到的非顺序打印问题。
Go - 学习 grpc.Dial(target string, opts …DialOption) 的写法
Go - 学习 grpc.Dial(target string, opts …DialOption) 的写法
154 12
|
算法 NoSQL 中间件
go语言后端开发学习(六) ——基于雪花算法生成用户ID
本文介绍了分布式ID生成中的Snowflake(雪花)算法。为解决用户ID安全性与唯一性问题,Snowflake算法生成的ID具备全局唯一性、递增性、高可用性和高性能性等特点。64位ID由符号位(固定为0)、41位时间戳、10位标识位(含数据中心与机器ID)及12位序列号组成。面对ID重复风险,可通过预分配、动态或统一分配标识位解决。Go语言实现示例展示了如何使用第三方包`sonyflake`生成ID,确保不同节点产生的ID始终唯一。
368 0
go语言后端开发学习(六) ——基于雪花算法生成用户ID
|
JSON 缓存 监控
go语言后端开发学习(五)——如何在项目中使用Viper来配置环境
Viper 是一个强大的 Go 语言配置管理库,适用于各类应用,包括 Twelve-Factor Apps。相比仅支持 `.ini` 格式的 `go-ini`,Viper 支持更多配置格式如 JSON、TOML、YAML
290 0
go语言后端开发学习(五)——如何在项目中使用Viper来配置环境
|
SQL 关系型数据库 MySQL
「Go开源」goose:深入学习数据库版本管理工具
「Go开源」goose:深入学习数据库版本管理工具
「Go开源」goose:深入学习数据库版本管理工具