随笔分类 -  go

上一页 1 ··· 3 4 5 6 7 8 9 下一页
摘要:Day 08 Goroutine 进程和线程 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。 线程是进程的一个执行实体,是 CPU 调度和分配的基本单位,它是比进程更小的能独立运行的基本单位。 一个进程可以创建和撤销多个线程,同一个进程中的多个线程之间可以并发执行。 并 阅读全文
posted @ 2022-03-05 14:36 ty1539 阅读(46) 评论(0) 推荐(0)
摘要:点击查看代码 package main import ( "fmt" "time" ) func main() { select { case <- time.After(time.Second*3): // 异步等候 fmt.Println("after") } } 阅读全文
posted @ 2022-03-05 13:06 ty1539 阅读(47) 评论(0) 推荐(0)
摘要:点击查看代码 package main import ( "fmt" "math" ) func isPrime(n int) bool { if n <= 1 { return false } stop := int(math.Sqrt(float64(n))) for i := 2; i <= 阅读全文
posted @ 2022-03-05 13:03 ty1539 阅读(91) 评论(0) 推荐(0)
摘要:点击查看代码 package main import ( "fmt" "sync" "time" ) var ( m = make(map[int]uint64) lock sync.Mutex ) type task struct { n int } func calc(t *task) { va 阅读全文
posted @ 2022-03-05 12:51 ty1539 阅读(41) 评论(0) 推荐(0)
摘要:点击查看代码 package main import ( "fmt" "time" ) func write(ch chan int) { for i := 0; i < 100; i++ { ch <- i fmt.Println("Put data:", i) } } func read(ch 阅读全文
posted @ 2022-03-05 12:21 ty1539 阅读(26) 评论(0) 推荐(0)
摘要:**注意:测试代码文件要以_test.go结尾, 代码函数Test开头参数为t testing.T 例如TestAdd(t testing.T) 同一目录下的calc.go代码 点击查看代码 package go_test_demo func Add(a, b int) int { return a 阅读全文
posted @ 2022-03-05 12:18 ty1539 阅读(92) 评论(0) 推荐(0)
摘要:Day 07 终端读写 终端读写 操作终端相关文件句柄常量 os.Stdin 标准输入 os.Stdout 标准输出 os.Stderr 标准错误输出 终端读写示例 带缓冲区的读写 package main import ( "bufio" "fmt" "os" ) var inputReader 阅读全文
posted @ 2022-03-05 11:36 ty1539 阅读(44) 评论(0) 推荐(0)
摘要:点击查看代码 package main import ( "bufio" "fmt" "os" ) var inputReader *bufio.Reader var input string var err error func main() { inputReader = bufio.NewRe 阅读全文
posted @ 2022-03-05 11:34 ty1539 阅读(307) 评论(0) 推荐(0)
摘要:点击查看代码 package main import "fmt" type Car interface { GetName() string Run() DiDi() } type BMW struct { Name string } func (bmw *BMW) GetName() string 阅读全文
posted @ 2022-03-05 00:09 ty1539 阅读(40) 评论(0) 推荐(0)
摘要:点击查看代码 package main import ( "fmt" "math/big" ) func genFibLst(n int) (a []string) { n1 := big.NewInt(1) n2 := big.NewInt(1) fmt.Printf("n1=%s, n2=%s, 阅读全文
posted @ 2022-03-05 00:04 ty1539 阅读(159) 评论(0) 推荐(0)
摘要:Day 04 内置函数 close :主要用来关闭 channel len :用来求长度,比如:strings 、array 、slice 、map 、channel new :用来分配内存,主要用来分配值类型内存。比如:int 、struct 。返回的是指针。 var b *int b = new 阅读全文
posted @ 2022-03-05 00:03 ty1539 阅读(38) 评论(0) 推荐(0)
摘要:Day 03 strings 和 strconv 的使用 strings.HasPrefix(str string, prefix string) bool :判断字符串 str 是否以 prefix 开头 strings.HasSuffix(str string, suffix string) b 阅读全文
posted @ 2022-03-05 00:02 ty1539 阅读(39) 评论(0) 推荐(0)
摘要:点击查看代码 package main import "fmt" func concat(str string, arg ...string) string { ans := str for _, s := range arg { print(s,">>>\n") ans = ans + s } r 阅读全文
posted @ 2022-03-05 00:01 ty1539 阅读(83) 评论(0) 推荐(0)
摘要:rand.Intn()用法和猜年龄 package main import ( "fmt" "math/rand" "time" ) func init() { rand.Seed(time.Now().UnixNano()) } func main() { target := rand.Intn( 阅读全文
posted @ 2022-03-04 23:53 ty1539 阅读(1112) 评论(0) 推荐(0)
摘要:点击查看代码 package main import ( "fmt" "time" ) func fibonacci(n int) uint64 { if n <= 2 { return uint64(1) } return fibonacci(n - 1) + fibonacci(n - 2) } 阅读全文
posted @ 2022-03-04 23:50 ty1539 阅读(32) 评论(0) 推荐(0)
摘要:疑问 str = "httpsh://" fmt.Println("???",strings.TrimLeft(str, "https")) // 输出:// 而不是h:// package main import ( "fmt" "strings" ) func main() { var str1 阅读全文
posted @ 2022-03-04 23:47 ty1539 阅读(261) 评论(0) 推荐(0)
摘要:https://github.com/go-kratos/kratos/blob/v1.0.x/pkg/sync/errgroup/doc.go 1目录 sync.errgroup的由来 sync.errgroup 的示例 sync.errgroup 源码阅读 sync.errgroup延展krat 阅读全文
posted @ 2022-02-28 14:35 ty1539 阅读(162) 评论(0) 推荐(0)
摘要:点击查看代码 package main import "fmt" func main() { /* range语法:迭代打印每个元素,默认返回两个值,一个是元素的位置,一个是元素本身, 如果只有一个接收参数,默认返回的是下标,可以使用匿名变量 */ str := "abcde" for i,data 阅读全文
posted @ 2022-02-28 14:21 ty1539 阅读(42) 评论(0) 推荐(0)
摘要:点击查看代码 package main import "fmt" func main() { /* !:非 &&:且 ||:或 */ /* ^ ! * / % << >> & &^ + - | ^ == != <<= >= > <- && || 可以使用括号提升优先级 */ /* &:按位与,参与运 阅读全文
posted @ 2022-02-28 12:32 ty1539 阅读(32) 评论(0) 推荐(0)
摘要:点击查看代码 package main import "fmt" func main() { // 比如int64,我想改成bigint type bigint int64 var a bigint a = 10 fmt.Println(a) fmt.Printf("%T\n",a) // main 阅读全文
posted @ 2022-02-28 12:30 ty1539 阅读(471) 评论(0) 推荐(0)

上一页 1 ··· 3 4 5 6 7 8 9 下一页