原创 Golang 跨域

跨域指的是瀏覽器不能執行其他網站或域名下的腳本。之所以形成跨域,是因爲瀏覽器的同源策略造成的,是瀏覽器對javascript程序做的安全限制,現在所有支持JavaScript 的瀏覽器都會使用這個策略。 在實際應用中會遇到需要跨域的場景,比

原创 Go 三個點(...)用法

衆所周知,Go語言是嚴格類型語言,而開發的時候又遇到傳入參數不定的情況,怎麼辦? 這裏的三個點(...),就給我們編程人員帶來很大的靈活性,具體如下 函數可變數量參數 可參考https://github.com/guyan0319/...

原创 Go 之 interface接口理解

go語言並沒有面向對象的相關概念,go語言提到的接口和java、c++等語言提到的接口不同,它不會顯示的說明實現了接口,沒有繼承、子類、implements關鍵詞。go語言通過隱性的方式實現了接口功能,相對比較靈活。 interface是g

原创 GO 依賴管理工具go Modules(官方推薦)

以前寫過一篇關於go管理依賴包工具 dep的文章,當時認爲dep將會成爲官方依賴工具,現在看來是自己圖樣圖斯內幕破了,正如官方一直提到dep是“official experiment”官方實驗項目的那樣,隨着go modules 在go1.

原创 layui省市區三級聯動插件

這個是一個layui省市區三級聯動插件,近來使用layui後臺模板框架開發後臺系統,要用到省市縣/區三級聯動,本想從網上找個現成的輪子,然沒有自己想要的需求,就自己造了個。 本插件實現省市區相應數據通過ajax動態從服務端加載數據,省市區數

原创 Golang 下載文件

這裏使用net/http下載文件,可以設置Content-Type(具體參考)告訴客戶端返回的內容類型實際上是什麼,實現不同方式的文件的下載。 示例 package main import ( "fmt" "io/iout

原创 微信小程序發送模板消息

微信小程序還提供了給客服發送模板消息的功能,以便商家給客戶發送通知。 官方文檔 https://developers.weixin.qq.... 使用效果 具體步驟 1、設置模板 登錄 https://mp.weixin.qq.com/“

原创 微信小程序客服消息功能 php

項目說明: 本項目是一個簡單微信小程序客服消息類,實現客服消息相關功能。官方給的php示例有誤,這裏就不再吐槽了。 本示例是採用開發者服務器,沒有采用雲調用的形式。 官方文檔: 客服消息指南 客服消息服務端 適用場景 客戶消息流程圖 使

原创 導出mysql表結構生成grpc需要的proto文件工具

使用過grpc的同學都知道,寫proto文件比較繁瑣,尤其是寫message,對應很多字段,爲此寫了一個簡單的從mysql直接讀取表結構,生成proto文件的工具。 工具的使用很簡單,需要簡單的配置,即可運行生成proto文件。項目地址:h

原创 Golang不同類型比較

在日常開發過程中難免會遇到各個類型的變量的比較以及運算操作,這裏我們做了一些簡單的彙總,希望能給各位同學在開發中帶來幫助。 這裏先上一波關係運算符==,!=,<,<=,> 和 >=。 float浮點數比較 golang 支持兩種浮點floa

原创 grpc的Go服務端和PHP客戶端實現

前言 gRPC 是一個高性能、開源和通用的 RPC 框架,面向移動和 HTTP/2 設計。目前提供 C、Java 和 Go 語言版本,分別是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node

原创 Go socket實現多語言間通信

前言 socket提供了在傳輸層進行網絡編程的方法,它比基於http協議的接口傳輸更高效,RPC(Remote Procedure Call)是遠程過程調用,常用於分佈式系統等,而rpc很多是基於socket實現的。不瞭解socket、ht

原创 Golang 類型

Go語言的類型很多,簡單的類型(int,string,float等)這裏不再贅述。 下面講一些開發中可能用到特殊類型 struct 類型 package main type User struct { Id int N

原创 Go 字符串處理

直接使用“+”: 示例: a := "aa" b := "bb" a = a + b fmt.Println(a) 因爲字符串類型在Go中是不可改變的,因此每次操作實際都要新分配字符串,所以在字符串比較多的時候效率不高。 使用strings

原创 Go 併發控制

前言 提到Go語言的併發,就不得不提goroutine,其作爲Go語言的一大特色,在日常開發中使用很多。 在日常使用場景就會涉及一個goroutine啓動或結束,啓動一個goroutine很簡單只需要前面加關鍵詞go即可,而由於每個goro