前言:最近学习Go语言 尝试写了一个简单的文件同步,基于tcp的,功能比较简单。基于Go version 1 编译。该程序的功能:只能传输单一文件,文件名不能有特殊符号和空格有serve端和client命令 使用同一个程序不能同步目录结构不能改名字无法查看进度该程序主要就是将指定的文件同步到新的服务器和指定的目录下面,并且该文件的时间和属性跟原来一样,可以……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1945浏览 837个赞
来源:……继续阅读 » 水墨上仙 4年前 (2021-03-14) 2163浏览 1258个赞
defer:调用一个被 defer 的函数时在函数刚要返回之前延迟执行,当函数无论怎样返回,某资源必须释放时,可用这种与众不同、但有效的处理方式。传统的例子包括解锁互斥或关闭文件。 这样延迟一个函数有双重优势:一是你永远不会忘记关闭文件,此错误在你事后编辑函数添加一个返回路径时常常发生。二是关闭和打开靠在一起,比放在函数尾要清晰很多。 ……继续阅读 » 水墨上仙 4年前 (2021-03-14) 2704浏览 1368个赞
Go语言MessageBox示例package mainimport ( "syscall" "unsafe" "fmt")func abort(funcname string, err int) { panic(funcname……继续阅读 » 水墨上仙 4年前 (2021-03-14) 2765浏览 2003个赞
GO语言-获取系统环境变量/** * Created with IntelliJ IDEA. * User: liaojie * Date: 12-9-7 * Time: 下午8:33 * To change this template use File | Settings | File Templates. */package mai……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1139浏览 2127个赞
Go语言用map实现堆栈功能package stackimport ( "strconv")type Stack struct { quenu map[int]int}func New() *Stack{ s := new(Stack) s.quenu = make(map[int]int) return s……继续阅读 » 水墨上仙 4年前 (2021-03-14) 2718浏览 551个赞
go语言超简单的交换两个变量的值 语法和python的一样a, b = b, a……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1547浏览 569个赞
Go语言计算指定字符串在另一个字符串中出现的次数s := "Count, the number,, of commas." n := 0 for _, c := range s { if c == ',' { n++ } }……继续阅读 » 水墨上仙 4年前 (2021-03-14) 3084浏览 2301个赞
第一个go语言的网络程序,分为服务器端和客户端来源:http://blog.csdn.net/dux003/article/details/5486898 //服务端package mainimport ( "net" "os")f……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1503浏览 934个赞
Go语言Echo服务器代码package main import ( "net" "io") func main() { serv, e := net.Listen("tcp", ":12345") if e != nil { ……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1767浏览 2107个赞
Go语言调用其它程序并获得程序的输出package mainimport ( "exec" // "os/exec" in go1 "fmt")func main(){ cmd := exec.Command("ls", "-l&qu……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1393浏览 1860个赞
Go语言提供了两种频道,带缓冲区和不带缓冲区的。不带缓冲区的频道,发送和接收是同步的,必须接收端接收了消息,发送端才能从发送调用中解脱。带缓冲区的频道,在缓冲区满之前,发送和接收是异步的,发送端的发送操作只保证把消息放入缓冲区。Go的频道是可以关闭的,关闭频道的目的是让接收端知道不会再有消息从这个频道进入,我们可能会用某个频道的关闭来表示某种状态的终结。当我……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1601浏览 1966个赞
Go语言的语法上是不支持指针运算的,所有指针都在可控的一个范围内使用,没有C语言的*void然后随意转换指针类型这样的东西。最近在思考Go如何操作共享内存,共享内存就需要把指针转成不同类型或者对指针进行运算再获取数据。 晚上对Go语言内置的unsafe模块做了一个实验,发现通过unsa……继续阅读 » 水墨上仙 4年前 (2021-03-14) 2750浏览 1475个赞
Go语言的共享内存读写实验来源:http://1234n.com/?post/jsh0zf 结合前两天做的Go语言指针运算和内嵌C代码的实验结果,做了一个Go语言共享内存读写的实验。先大概说下什么是共享内存。我们知道不同进程见的内存是互相独立的,没办法直接互相操作对方内的数据,而共享……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1272浏览 1451个赞
goroutine 是由 Go 运行时环境管理的轻量级线程。go f(x, y, z)开启一个新的 goroutine 执行f(x, y, z)f,x,y 和 z 是当前 goroutine 中定义的,但是在新的 goroutine 中运行 f。goroutine 在相同的地址空间中运行,因此访问共享内存必须进行同步。 sync 提供了这种可能,不过在 Go……继续阅读 » 水墨上仙 4年前 (2021-03-14) 3047浏览 1640个赞
包 http 通过任何实现了 http.Handler 的值来响应 HTTP 请求:package httptype Handler interface { ServeHTTP(w ResponseWriter, r *Request)}在这个例子中,类型 Hello 实现了 http.Handler。注意: 这个例子无法在基于 web……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1214浏览 1474个赞
错误是可以用字符串描述自己的任何东西。 主要思路是由预定义的内建接口类型 error,和其返回返回字符串窜的方法 Error 构成。type error interface { Error() string}当用 fmt 包的多种不同的打印函数输出一个 error 时,会自动的调用该方法。package mainimport ( "fm……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1619浏览 1995个赞
接口类型是由一组方法定义的集合。接口类型的值可以存放实现这些方法的任何值。package mainimport ( "fmt" "math")type Abser interface { Abs() float64}func main() { var a Abser f := MyFloat(……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1384浏览 381个赞
方法可以与命名类型或命名类型的指针关联。刚刚看到的两个 Abs 方法。一个是在 *Vertex 指针类型上,而另一个在 MyFloat 值类型上。有两个原因需要使用指针接收者。首先避免在每个方法调用中拷贝值(如果值类型是大的结构体的话会更有效率)。其次,方法可以修改接收者指向的值。尝试修改 Abs 的定义,同时 Scale 方法使用 Vertex 代替 *V……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1954浏览 2662个赞
事实上,可以对包中的任意类型定义任意方法,而不仅仅是结构体。不能对来自其他包的类型或基础类型定义方法。package mainimport ( "fmt" "math")type MyFloat float64func (f MyFloat) Abs() float64 { if f < 0 ……继续阅读 » 水墨上仙 4年前 (2021-03-14) 2837浏览 1869个赞
Go 没有类。然而,仍然可以在结构体类型上定义方法。方法接收者出现在 func 关键字和方法名之间的参数中。package mainimport ( "fmt" "math")type Vertex struct { X, Y float64}func (v *Vertex) Abs() floa……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1876浏览 1459个赞
C#接口interface使用范例using System;//example of interfacespublic class Animals{//simple interfaceinterface IAnimal { void Breathes();}//interfaces can inherent from other in……继续阅读 » 水墨上仙 4年前 (2021-03-14) 2194浏览 1359个赞
C#使用XmlDocument通过XPath获取单个节点的值public static Survey GetSurvey(string groupName, string surveyName) { XmlDocument xmlSurveys = new XmlDocument(); xmlSurveys.Load……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1966浏览 2191个赞
C#通过xpath从dom获取文本值using System.Xml; using System.Xml.XPath; ... //create initial DOM XmlDocument xmlDocument = new XmlDocument(); /// <TextDefinitions> /……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1537浏览 2399个赞
C# AddRange为数组添加多个元素ArrayList ab = new ArrayList();ab.Add("a"); //old fashioned wayab.Add("b");ArrayList abcd = new ArrayList();abcd.AddRange(new string[……继续阅读 » 水墨上仙 4年前 (2021-03-14) 2886浏览 2185个赞
C# spilit函数的StringSplitOptions.RemoveEmptyEntries设置清除数组里的空值using System;class Animals {private static void Main() { string[] animals = "monkey,kangaroo,,,wallaby,……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1529浏览 598个赞
C#通过Get方式调用Web Service返回一个字符串,可以带参数访问public string getServiceResult(string serviceUrl) { HttpWebRequest HttpWReq; HttpWebResponse HttpWResp; HttpWReq = (HttpWebRequest)WebReq……继续阅读 » 水墨上仙 4年前 (2021-03-14) 2989浏览 1245个赞
C语言只用一行代码交换两个整型变量的值,本人在vc++2010下测试这个代码不对,最后返回的结果是a=10,b=10,在C#下面测试这个代码,返回的结果更离谱,居然是a=20,b=20,都没有交换,不知道为什么。#include <stdio.h> int main(){ int a=10,b=20; printf(……继续阅读 » 水墨上仙 4年前 (2021-03-14) 2536浏览 1564个赞
C#字符串转换成字节(byte)数组public static byte[] ToByteArray(string str){ System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding(); return encoding.GetBytes(str);}……继续阅读 » 水墨上仙 4年前 (2021-03-14) 2744浏览 529个赞
本代码列举了一些字符串格式化的方法,非常实用int MySalary = 123456; String.Format( "{0:C}", MySalary ); // $123,456.00String.Format( "{0:D}", MySalary ); // 123456String.Format……继续阅读 » 水墨上仙 4年前 (2021-03-14) 3032浏览 574个赞
这段代码演示了C#中如何使用Gmail账号发送邮件using System.Web.Mail;using System;public class MailSender{ public static bool SendEmail( string pGmailEmail, string pGmailPassw……继续阅读 » 水墨上仙 4年前 (2021-03-14) 2826浏览 2543个赞
有时候我们知道类的名字,希望根据类名来实例化一个类,下面的代码可以帮你完成/// <summary> /// 根据任务返回处理该任务的对象 /// </summary> /// <param name="task">具体任务</param>……继续阅读 » 水墨上仙 4年前 (2021-03-14) 2274浏览 2418个赞
C#共享文件夹的代码片段System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo.FileName = "cmd"; p.StartInfo.Arguments = " /c ne……继续阅读 » 水墨上仙 4年前 (2021-03-14) 2354浏览 1379个赞
C#读写xml文件的简单范例 //读配置文件 XmlDocument doc = new XmlDocument(); doc.Load("blog.xml"); XmlNode url = doc.SelectSingleNode(&qu……继续阅读 » 水墨上仙 4年前 (2021-03-14) 2131浏览 1843个赞
给定两个时间,计算时间差,输出类似于“相差10天5小时10分28秒”的格式DateTime dtone = Convert.ToDateTime("2007-1-1 05:32:22");DateTime dtwo = Convert.ToDateTime("2007-1-1 04:20:15");TimeS……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1573浏览 2177个赞
//网站配置文件如下 //要获得数据库文件的物理路径可以通过下面的代码获得:string connStr = ConfigurationManager.AppSettings["connStr"].ToString() + HttpContext.Current.Request.PhysicalApplicat……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1731浏览 935个赞
1、可以指定文字字体、大小和颜色(注:指定的文字在WEB服务器上需要有该字库); 2、可以加文字阴影; 3、可以指定文字的透明度; 4、可以指定背景图片或背景颜色; 5、可以指定生成的图片大小(宽度与高度); 6、可以指定文字的位置(左边距和上边距); 7、当用户设定的文字字号太大,能自动调整文字大小使之能适应生成图片的大小。 using Sy……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1418浏览 2593个赞
C#可以通过File对象的ReadAllText方法快速读取文本文件File.ReadAllText("c://abc.txt", Encoding.Default);……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1371浏览 517个赞
C#可以通过调用webBrowser控件实现表单的自动填充,包括下拉列表的自动选择HtmlDocument doc = webBrowser1.Document;HtmlElement el = doc.GetElementById("下拉列表框的ID");el.SetAttribute("selectedIndex&……继续阅读 » 水墨上仙 4年前 (2021-03-14) 2348浏览 1139个赞
在Windows Form的开发中,我们经常要把应用程序最小化到系统托盘,.net可以很方便的实现,只需要在主窗体上添加一个notifyIcon控件,然后调用下面的代码片段即可: private void Form1_SizeChanged(object sender, EventArgs e) { ……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1270浏览 2024个赞
本代码片段演示了C#中字符串格式化函数string.Format的使用的方法string sr1 = "75271.com";string sr2 = "脚本分享网";string ss = string.Format("本站域名是:{0},站名是:{1},欢迎光临", sr1, sr2)……继续阅读 » 水墨上仙 4年前 (2021-03-14) 2886浏览 2136个赞
本代码片段演示了使用冒泡法,插入排序法,选择排序法,希尔排序法,快速排序法对C#数组进行排序,是用C#学习数据结构的好代码片段 using System; namespace DataStruct { public class Sorter { /// <summary> ……继续阅读 » 水墨上仙 4年前 (2021-03-14) 2582浏览 406个赞
这段代码可以抓取指定的url的网络图片,并保存到本地 public Bitmap Get_img() { Bitmap img = null; HttpWebRequest req; HttpWebResponse res = null; ……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1646浏览 1040个赞
C#中计算字符串长度,一个中文算两个字符int len1 = System.Text.Encoding.Default.GetBytes("aaa").Length; //结果为 3int len2 = System.Text.Encoding.Default.GetBytes("张三丰").Length; /……继续阅读 » 水墨上仙 4年前 (2021-03-14) 1682浏览 2975个赞
这段代码从控制台接收一个字符串,然后判断该字符串是否可以被转换成整型,用到int.TryParsestring i = Console.ReadLine(); int a=0; if (int.TryParse(i, out a) == false) //判断是否可以转换为整型 {……继续阅读 » 水墨上仙 4年前 (2021-03-14) 2985浏览 354个赞