go语言中关于字符串使用的总结
字符串
- 字符串只能用双引号定义,
- go里单引号和双引号不通过,可以使用
``
号来定义原始输出,不会进行转义,相当于python 里的三引号
``
号来定义原始输出,不会进行转义,相当于python 里的三引号在编程中操作文件非常常见,如读取或者写入文件,但是在此之前会先构造出文件路径,在python中有相应的os.path库,对于文件路径的操作很简单,如
以下尝试在go语言中对上面的这些方法进行实现
在go语言中,函数也可以使用不定参数,可变参数函数即其参数数量是可变的 —— 0 个或多个。声明可变参数函数的方式是在其参数类型前带上省略符(三个点)前缀。
go语言用来执行一切系统的命令相对python来说还是有点复杂的,执行命令是一个非常常见的需求,如调用一个系统命令,启一个exe等,这里分为几种情况,之后统一总结一下。
初学go语言,对于初始化变量时使用new还是make有些迷惑,这里简单总结一下
for range 在go语言中用于遍历一个可迭代的对象,它可以应用于数组,切片,字典等 它有以下一些用法
最近在看aiohttp的源码,发现一种没有见过的定义函数写法def __enter__(self) -> None
,函数后面还跟着一个->
,这让一个以前受过C指针伤害过的人来说整个人都不好了,于是查了一下这个带箭头的用法,这里的->
的指针没有半毛钱关系。
之前在写多线程与多进程的时候,因为一般情况下都是各自完成各自的任务,各个子线程或者各个子进程之前并没有太多的联系,如果需要通信的话我会使用队列或者数据库来完成,但是最近我在写一些多线程与多进程的代码时,发现如果它们需要用到共享变量的话,需要有一些注意的地方
之前一直在使用mongo与redis,最近在项目中开始使用mysql数据库,由于现在的项目是全程异步的操作,所以在在网上查了下关于在python中异步的操作mysql,找来找去最后发现aiomysql的是实现最好的,现在简单介绍一下它的使用。
我们在使用mysql服务的时候,正常情况下,mysql的设置的timeout是8个小时(28800秒),也就是说,如果一个连接8个小时都没有操作,那么mysql会主动的断开连接,当这个连接再次尝试查询的时候就会报个"MySQL server has gone away"的误,但是有时候,由于mysql服务器那边做了一些设置,很多情况下会缩短这个连接timeout时长以保证更多的连接可用。有时候设置得比较变态,很短,30秒,这样就需要客户端这边做一些操作来保证不要让mysql主动来断开。