- 博客(7)
- 问答 (1)
- 收藏
- 关注
原创 Go语言二维数组的传参
用Go语言实现动态规划问题的时候在二维数组的传参改变这个地方有了点疑惑,差了会儿资料,然后达到了目的(其实还是想知道切片的话可不可以二维),所以记录一下package mainimport "fmt"//n=7func matrixChainOrder(p []int,m *[7][7]int,s *[7][7]int,n int){ for i:=0;i<n;i++{ m[i]
2017-05-31 15:41:54 4719
原创 Strassen矩阵算法的实现
仅仅针对2的幂次数阶的矩阵,时间复杂度O(n^lg7)#include <iostream>using namespace std;void gerResultStrassen(int **arr, int **brr, int n, int **crr){ if (n == 1) { crr[0][0] += arr[0][0] * brr[0][0];
2017-05-30 20:37:53 623
原创 Go语言的接口机理
“非侵入式”接口的实现原理 主要用法 (1)从类型赋值到接口 (2)接口查询 (3)接口之间赋值(1)类型赋值给接口 例子package mainimport "fmt"type ISspeaker interface{ Speak()}//接口type SimpleSpeaker struct{ Message string}//类型func (speaker *Simp
2017-05-15 18:33:03 1495
原创 Go语言网络编程
1.Dial函数 (1)函数原型 func Dial(net,addr string) (Conn,error) net:网络协议的名字 addr:IP地址或域名,端口号以”:”的形式跟随在地址或域名后 例子: TCP链接 conn,err:=net.Dial(“tcp”,”192.158.0.10:2100”) UDP链接 conn.err:=net.Dial(“udp”,”19
2017-05-11 17:14:43 449
原创 Go语言并发
协程:本质上是一种用户态线程,不需要操作系统来进行抢占式调度,且在真正的实现重寄存于线程中,因此,系统开销极小,可以有效提高线程的任务并发性,从而避免多线程的缺点。使用协程的优点是编程简单,结构清晰;缺点是需要语言的支持。 协程最大优势:”轻量级”,可以轻松创建上百万个而不会导致系统资源衰竭,线程和进程最多不超1万个 Go语言支持协程(轻量级线程) (1)Go语言采用消息机制作为通信方式 (
2017-05-09 20:03:37 364
原创 Go语言的匿名函数与闭包
匿名函数:由一个不带函数名的函数声明和函数体组成func(a,b int,z float64)bool{ return a*b<int(z)}匿名函数可以直接赋值给一个变量或直接执行闭包: 概念: 闭包是可以包含自由变量(未绑定到特定对象)的代码块,这些变量不在这个代码块内或者任何全局上下文中定义,而是在定义代码块的环境中定义。要执行的代码块(由于自由变量包含在代码块中,所以这些自由变量
2017-05-08 16:13:20 4608
原创 GO语言基础及特性
Go预言师强类型语言(静态类型语言) Go语言编写规范: 例子: package main import “fmt” func main(){ fmt.Println(“hello world!”); } (1)package声明,表示该Go代码所属的包,要生成Go的可执行文件,必须建立一个名字为main的包,并且在包中含有一个叫main()的函数(该函数是Go可执行程序的执行
2017-05-04 20:43:23 787
空空如也
linux下ps命令用C语言的实现
2016-07-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人