随笔分类 -  Golang

Google开源的编程语言,具有与生俱来的高并发处理能力,占用资源少,简洁高效
摘要:使用"io.ioutil"包中的ReadFile和WriteFile方法实现,被写入的文件: 不存在会先被创建;存在则其中的内容会先被清空 具体代码: package main import ( "fmt" "io/ioutil" ) func main(){ // 将一个文件中的内容写入到另一个文 阅读全文
posted @ 2021-02-14 16:27 pangqianjin 阅读(639) 评论(0) 推荐(0)
摘要:使用os.OpenFile()打开文件,flag选择 O_WRONLY|O_TRUNC 即可 具体代码: import ( "fmt" "os" "bufio" ) func main(){ // 打开一个存在的文件,将原来的内容覆盖掉 path := "./hello.txt" // O_WRON 阅读全文
posted @ 2021-02-14 16:05 pangqianjin 阅读(2700) 评论(0) 推荐(0)
摘要:使用"os.OpenFile()"打开文件 用带缓冲区的bufio.NewWriter()方法,返回一个*Writer 然后Writer接口中有一个方法, 刚好*File实现了这个方法, 具体代码: package main import ( "fmt" "os" "bufio" ) func ma 阅读全文
posted @ 2021-02-14 15:49 pangqianjin 阅读(348) 评论(0) 推荐(0)
摘要:使用"bufio"中的NewReader方法,返回一个带缓冲区的Reader 而*File就实现了io.Reader接口, 具体代码: package main import ( "fmt" "io" "os" "bufio" ) func main(){ file, err := os.Open( 阅读全文
posted @ 2021-02-14 15:03 pangqianjin 阅读(1215) 评论(0) 推荐(0)
摘要:使用"os/ioutil"包中的ReadFile方法, func ReadFile(path string) ([]byte, err) package main import ( "fmt" "io/ioutil" ) func main(){ // ioutil包中的ReadFile,一次性读取 阅读全文
posted @ 2021-02-14 14:53 pangqianjin 阅读(159) 评论(0) 推荐(0)
摘要:可变参数的原理是:将传入的一个或多个参数转换为一个新的切片。 比如: func add(nums ...int) int { var sum int for _, val := range nums{ sum += val } return sum } func main(){ sum := add 阅读全文
posted @ 2021-02-13 20:46 pangqianjin 阅读(501) 评论(0) 推荐(0)
摘要:因为有语法糖,方便程序员(个人认为这不够严谨),底层的编译器还是做了处理 结构体的方法所属者为结构体变量时,此时为值传递,调用者为结构体的指针或结构体变量本身都可以 调用者为结构体本身 结果: 调用者为结构体的指针 结果: 结构体的方法所属者为结构体变量的指针时,此时为引用传递,调用者为结构体的指针 阅读全文
posted @ 2021-02-12 17:04 pangqianjin 阅读(203) 评论(0) 推荐(0)
摘要:如果没有别名,字串中字段的名称为大写(结构体中小写的字段将返回空串,因为对其他包不可见) package main import ( "fmt" "encoding/json" ) type Cat struct{ Name string Age int } func main(){ var cat 阅读全文
posted @ 2021-02-12 15:40 pangqianjin 阅读(1428) 评论(0) 推荐(0)
摘要:package main import ( "fmt" ) type Cat struct{ Name string Age int } func main(){ // 第一种方式,先声明再初始化 var cat1 Cat cat1.Name = "cat1" cat1.Age = 1 fmt.Pr 阅读全文
posted @ 2021-02-12 14:42 pangqianjin 阅读(1378) 评论(0) 推荐(0)
摘要:结论:会的 只声明而不分配内存的slice,它的容量应该是0;然后,如果此时使用append函数,会帮助其分配内存,并扩容 运行结果: 阅读全文
posted @ 2021-02-12 10:59 pangqianjin 阅读(484) 评论(0) 推荐(0)
摘要:风格1: package main import ( "fmt" ) func BinarySort(arr *[]int, leftIndex, rightIndex, findVal int){ // 判断leftIndex是否大于rightIndex if leftIndex > rightI 阅读全文
posted @ 2021-02-11 16:49 pangqianjin 阅读(106) 评论(0) 推荐(0)
摘要:package main import ( "fmt" ) func BubbleSort(arr *[]int){ for i:=0;i<len(*arr)-1;i++{ for j:=0;j<len(*arr)-1-i;j++{ if (*arr)[j] > (*arr)[j+1]{ (*arr 阅读全文
posted @ 2021-02-11 16:12 pangqianjin 阅读(65) 评论(0) 推荐(0)