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

浙公网安备 33010602011771号