SherlockGy's Blog

  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

PyGame内置游戏启动方法

发表于 2019-07-07 | 分类于 程序人生 > Python
本文字数: 340 | 阅读时长 ≈ 1 分钟

Pygame是Python的一个第三方游戏开发库,他自带了一个默认游戏,我们可以通过这个demo先感受一下Pygame的魅力

启动方法如下:

首先确保你安装了Python以及Pygame,我们假设你已经安装了Python,然后这里我们安装一下Pygame这个库

阅读全文 »

Rust下载包太慢怎么办?配置国内源介绍

发表于 2019-07-06 | 更新于 2019-11-11 | 分类于 程序人生 > Rust
本文字数: 531 | 阅读时长 ≈ 1 分钟

我们可以通过配置rust的配置文件来使用中科大的源作为默认下载源

步骤如下:

阅读全文 »

Go语言数据结构——双向列表

发表于 2019-06-26 | 分类于 程序人生 > Golang
本文字数: 3.5k | 阅读时长 ≈ 3 分钟

Golang标准库中,包含双向列表这一数据结构,先来了解一下

源码

1
2
3
4
5
6
// List represents a doubly linked list.
// The zero value for List is an empty list ready to use.
type List struct {
root Element // sentinel list element, only &root, root.prev, and root.next are used
len int // current list length excluding (this) sentinel element
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Element is an element of a linked list.
type Element struct {
// Next and previous pointers in the doubly-linked list of elements.
// To simplify the implementation, internally a list l is implemented
// as a ring, such that &l.root is both the next element of the last
// list element (l.Back()) and the previous element of the first list
// element (l.Front()).
next, prev *Element

// The list to which this element belongs.
// 该元素属于哪一个list
list *List

// The value stored with this element.
// 此元素存储的值
Value interface{}
}
阅读全文 »

Go语言学习的注意点

发表于 2019-06-01 | 更新于 2020-03-15 | 分类于 程序人生 > Golang
本文字数: 10k | 阅读时长 ≈ 9 分钟

000_关于环境

Golang的官网是https://golang.org,不过因为众所周知的原因,国内不能正常访问,那么替代方案有这么几种:

  • 方案一:Google CN提供的镜像网站:该网站最大的好处就是原版英文,可以获得等同于原官网的体验
  • 方案二:中文版官网:该网站已经部分汉化了,可以帮助阅读英文有困难的同学们
  • 方案三:使用Golang起一个本地服务:安装Golang后,在命令行里输入godoc -http=:8080,并在浏览器访问http://localhost:8080/即可访问本地官网(英文),8080是端口号,可以更改,这种方式优点在于不依赖网络
  • 方案四:https://tip.golang.org/是golang.org的完全限定域名,由Google提供,目前中国大陆可以正常访问

跨平台编译

Golang有两个重要的环境变量GOOS和GOARCH,其中GOOS指的是目标操作系统,它的可用值为:

  1. darwin
  2. freebsd
  3. linux
  4. windows
  5. android
  6. dragonfly
  7. netbsd
  8. openbsd
  9. plan9
  10. solaris

一共支持10中操作系统。GOARCH指的是目标处理器的架构,目前支持的有:

  1. arm
  2. arm64
  3. 386
  4. amd64
  5. ppc64
  6. ppc64le
  7. mips64
  8. mips64le
  9. s390x

一共支持9中处理器的架构

如果我们要生成不同平台架构的可执行程序,只要改变这两个环境变量就可以了(临时禁用CGO,以防出问题),比如要生成linux 64位的程序,命令如下:

1
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build github.com/xxx/hello

前面两个赋值,是更改环境变量,这样的好处是只针对本次运行有效,不会更改我们默认的配置。

以上这些用法差不多够我们用的了,更多关于go build的用法,可以通过以下命令查看:

1
go help build

此段摘自 飞雪无情 的博客

001_数据类型

rune类型

Golang没有Java里面的char类型,取而代之的是rune类型,Golang源码对该类型的注释是这样的:

rune is an alias for int32 and is equivalent to int32 in all ways.
译:rune是int32的别名,在所有方面都等同于int32。

因此,它在执行以下代码的时候,输出的结果并不是预期的字符a,而是数字97:

1
2
3
4
func main() {
myChar := 'a'
fmt.Println(myChar) // 97
}
阅读全文 »

Python知识学习21——bytes、bytearray和编码

发表于 2019-04-07 | 更新于 2019-04-14 | 分类于 程序人生 > Python > Python基础
本文字数: 351 | 阅读时长 ≈ 1 分钟

(一)bytes和bytearray的对比

bytes是不可变的,而bytearray则是可变类型

(二)bytes类型

定义一个bytes类型:

bytes接收的是一个可迭代类型

1
2
3
4
5
6
7
8
9
10
11
$ bytes()
b''

$ bytes([1,2,3])
b'\x01\x02\x03'

$ bytes([97, 98, 99])
b'abc'

$ bytes(range(5))
b'\x00\x01\x02\x03\x04'
阅读全文 »
1…567…23
SherlockGy

SherlockGy

Keep thinking different...

111 日志
38 分类
62 标签
RSS
GitHub E-Mail
友情链接
  • GoLang-飞雪无情的博客
  • Java-酷壳
  • Python-静觅丨崔庆才的个人博客
  • 掘金
  • GoLang中国
  • GoLang中文社区
  • V2EX
  • Microsoft Docs
  • Go语言圣经
© 2020 SherlockGy | 191k | 2:false
由 Hexo 强力驱动 v3.7.1
|
主题 — NexT.Pisces v6.3.0