Storm

superStorm


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 公益404

  • 搜索

java学习笔记2

发表于 2019-01-10 | 分类于 java |
字数统计: 767 | 阅读时长 ≈ 3

  

  • HashMap 的遍历
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    import java.util.HashMap;
    public class test3 {
    public static void main(String[] args){
    HashMap<String, String> dic = new HashMap<>();
    dic.put("name","storm");
    dic.put("sex","man");
    for (String key : dic.keySet()){
    System.out.println(key + ":" + dic.get(key));
    }
    }
    }
  • ArrayList
    ArrayList 和数组的区别有点类似go语言中切片和数组的区别,数组是一种静态的数据类型,长度固定,类型固定,而ArrayList的长度可以扩展且数据类型可以是任意类型(如果定义时不加任何泛型则可以存放任意类型)

    阅读全文 »

java学习笔记1

发表于 2019-01-08 | 分类于 java |
字数统计: 1.1k | 阅读时长 ≈ 4

  java是sun公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。

  • hello world
    安装好jdk后,创建一个test.java文件,写入以下代码
    1
    2
    3
    4
    5
    6
    public class test1{
    public static void main(String[] args){
    System.out.println("hello world!");
    }
    }
    保存后,在终端切到文件对应目录,运行javac test.java编译文件,编译后在当前目录会生成一个test1.class文件,在终端直接执行java test1,就会打印出hello world!
  • 变量声明
    阅读全文 »

go学习笔记6-锁(Mutex和RWMutex)

发表于 2019-01-04 | 分类于 golang |
字数统计: 362 | 阅读时长 ≈ 1

  Go 语言提供两类锁: 互斥锁(Mutex)和读写锁(RWMutex)。
其中读写锁(RWMutex)是基于互斥锁(Mutex)实现的,锁的定义源码:

sync/mutex.go
1
2
3
4
5
6
7
8
9
10
11
12
13
type Mutex struct {
state int32
sema uint32
}

type Locker interface {
Lock()
Unlock()
}

func (m *Mutex) Lock()

func (m *Mutex) Unlock()

  下面用代码来体现互斥锁的用处
阅读全文 »

go学习笔记5-channel

发表于 2019-01-04 | 分类于 golang |
字数统计: 470 | 阅读时长 ≈ 2

  golang中channel是一个比较重要的类型,声明关键字chan

1
2
3
4
5
6
7
8
package main
import "fmt"
func main(){
t := make(chan int, 100)
t <- 5
s := <- t
fmt.Println(s)
}

channel 可以看作是一个管道,<-是它的操作符,当<-在channel右边时表示往channel里面写数据,<-在左边表示从channel读取数据,声明channel时需要制定数据类型,并可以指定缓冲大小,适当的设置缓冲区大小可以提高程序的效率,因为channel在读写数据时,如果channel里面为空或者存满了,读写操作会一直阻塞。这点类似python的队列queue
  前面提到channel会存在阻塞问题,所以当使用多个channel时,可以用select 来监听
阅读全文 »

go学习笔记4

发表于 2018-12-27 | 分类于 golang |
字数统计: 685 | 阅读时长 ≈ 3

  

  • 读文件的汉字问题
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

package main

import (
"bufio"
"fmt"
"os"
)

func main(){
fp, err := os.Open("test.txt")
if err != nil{
fmt.Println(err)
}
//b := []byte{100}
r := bufio.NewReader(fp)
b, _ := r.ReadBytes('\n') // 以‘\n’为分隔符读取
fmt.Println(b) // 直接打印出来的是字节值[229 147 136 229 147 136]
fmt.Println(string(b)) // 使用string转换类型后打印出来的是字符串哈哈,一般汉字占三个字符,刚好对应6个字节值
defer fp.Close()
}
  • 字符串函数

    阅读全文 »

go语言学习笔记3

发表于 2018-12-25 | 分类于 golang |
字数统计: 1.1k | 阅读时长 ≈ 5
  • 匿名字段
    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
    package main

    import (
    "fmt"
    )

    type person struct{
    name string
    age int
    sex string
    }

    type Student struct{
    person
    id int
    score int

    }

    func main(){
    Student := Student{person{"张三", 100, "男"}, 1, 100}
    fmt.Println(Student)
    fmt.Println(Student.name) // 子结构体可以继承父结构体的字段
    fmt.Println(Student.person.name)
    }

  继承中,子结构体和父结构体如果有同名字段,采用就近原则,会优先去当前结构体的,如果没有再去取父结构体的

  • 多重继承
    阅读全文 »

go学习笔记2

发表于 2018-12-25 | 分类于 golang |
字数统计: 340 | 阅读时长 ≈ 1

  

  • 匿名函数

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    package main

    import "fmt"

    func main(){
    a:=1
    b:=2
    f := func(a int, b int) int {
    fmt.Println(a,b)
    return a
    }
    c := f(a,b)
    fmt.Println(c)
    }
  • 闭包

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    package main

    import "fmt"

    func test1() func()int{
    var a int
    return func() int {
    a ++
    return a
    }
    }
    func main(){
    f := test1()
    for i:=0;i<10;i++ {
    fmt.Println(f())
    }
    }
    阅读全文 »

go语言学习笔记1

发表于 2018-12-24 | 分类于 golang |
字数统计: 1.6k | 阅读时长 ≈ 6

  Go是一种开源的程序设计语言,它意在使得人们能够方便地构建简单、可靠、高效率的软件”

  • hello world

    hello_world.py
    1
    2
    3
    4
    5
    6
    package main
    import "fmt"
    func main01() {
    //在屏幕打印hello world
    fmt.Println("hello world")
    }
    阅读全文 »

python和c混合编程-cython

发表于 2018-12-21 | 分类于 python |
字数统计: 299 | 阅读时长 ≈ 1

  Cython,官方在首页标题就给出了解释,C-Extensions for Python,即python的c扩展。它是一种可以像写python一样轻松地为python语言编写c扩展程序的编程语言,话不多说,用代码解释,哈哈

  • 安装cython

    安装cython
    1
    pip install Cython
  • cython 的hello world

    阅读全文 »

请求头中的反反爬

发表于 2018-12-19 | 分类于 爬虫 |
字数统计: 1k | 阅读时长 ≈ 4

    有关请求头反爬的总结,其实大多时候这些反爬并不是官方刻意做的反爬,而是人家的业务逻辑就是如此。
    在我工作中很多时候就是由于请求头设置不对导致请求不到数据,通常会报网络异常、服务端的代码报错、登录失效等

阅读全文 »

1234
fengxi

fengxi

宴安鸩毒 不可怀也

32 日志
10 分类
25 标签
GitHub
友情链接
  • wangfan
  • 森哥的博客
© 2020 fengxi | Site words total count: 23.4k
本站访客数:
博客全站共23.4k字