• golangでインターフェースオブジェクトを変換する2つの方法

    インターフェース・オブジェクトを変換するには、2つの方法があります。 1. 方法1: インスタンス,OK:=インターフェース・オブジェクト。(実際の型)   インターフェースオブジェクトが対応する実際の型であれば、instanceは変換されたオブジェクトであり、okの値は真である   if... ...else if...と併用してください。使用方法 2.方法2   

    2022-02-14 19:49:06
  • Go言語インタフェースの説明

    インターフェースは、メソッド(正規の動作)の集合体である オブジェクト指向の世界では、一般的にこのように定義されます。インターフェースは、オブジェクトの動作を定義し、オブジェクトのサブクラスの動作を規制するものです。 Goのインターフェースは、non-intrusive(インターフェースが消えてもコードに影響しない)、intrusive(インターフェースが消えてもサブクラスがエラーを

    2022-02-14 19:20:10
  • Goの配列とスライスの詳細な紹介

    I. 配列 配列は、複数の値を保持できる、同じ型の要素の集まりで、メモリに連続して格納されます Goでは異なる型の要素を混ぜることはできず、定義段階で決定される配列のサイズも変更することはできません 1. 配列の定義 // Define an array of type string and type int8 of size 3, which can hold 3 st

    2022-02-14 18:03:25
  • Goはsync.Mapを使って、mapの同時操作問題を解決している

    前置き Golangではmapは同時実行安全性がなく、1.9からsync.Mapが導入されました。sync.Mapはmapの同時実行安全性の問題を解決しますが、len()関数を実装していないのでsync.Mapの長さを計算するには少し厄介でRange関数を使用する必要があります。 地図の並行処理問題 from sklearn.cross_validation import KF

    2022-02-14 17:21:10
  • Goのアドレッサブルとノンアドレッサブルを1つの記事で理解する

    1.アドレサブルとはどういう意味ですか? 演算子 & を使って直接アドレス指定できるオブジェクトは、アドレス指定可能です ( Addressable ). 例えば、次のような例です。 func main() { name := "iswbm" fmt.Println(&name) // output: 0xc000010200 }

    2022-02-14 17:17:17
  • GO機能オプションパターン

    Golangの開発者が遭遇する多くの問題の1つは、関数の引数をオプショナルにしようとすることです。これは非常に一般的なユースケースで、いくつかのオブジェクトは基本的なデフォルトをそのまま使うべきで、時にはもっと詳細な設定をする必要があるかもしれません。 多くの言語では、これは簡単です。C言語では、引数の数が異なる複数のバージョンの同じ関数を提供できます。PHPのような言語では、引数にデフォ

    2022-02-14 15:36:30
  • Golangのリフレクションを使った構造体のエレガントなソート機能

    私は最近インターンシップを始め、PythonとGolangをメインの技術スタックとして仕事をしています。コード構造は同じなのですが、比較項目が違うので、受け入れられません。 関数を比較します。 func reflectCmp(i, j interface{}, fieldName string) bool { // sort by incoming fieldName valI :

    2022-02-14 15:21:20
  • Go Pluginでプラグインプログラミングを簡単に実装する方法

    前書き プラグインというと、馴染みのない方も多いのではないでしょうか。一般的に、プラグインにはいくつかの利点があり、1つはプログラムの拡張性を高め、機能を充実させることである。小さな更新は、プログラム全体を再ダウンロードする必要がある場合はさらに、それはまた、ホットアップデート、いくつかの大規模なアプリケーション、簡単にインストール手順の数GBを達成することができる、この時間は、我々は頻繁

    2022-02-14 13:26:49
  • Go言語による並行処理プログラミング 相互排他ロック 詳細へ

    1. ミューテックス ロック ミューテックス 1.1 Mutexの紹介 conda install cudatoolkit=9.0. この言語の同期化ツールは主に conda install cudnn=7 パッケージ、および相互排他的ロック ( conda install tensorflow-gpu=1.9 ) と読み取り/書き込みロック ( RWMutex )

    2022-02-14 13:10:53
  • 同時進行のプログラミングを行う sync.Once

    sync.Once ある動作が一度だけ実行されることを保証するために使用され、設定の初期化などシングルインスタンスパターンで使用することができる。init() 関数も一度だけ実行されることが分かっていますが、これは main() 関数を使用します。コード実行中に一度だけアクションを実行したい場合は sync.Once で、その使い方を説明します。 まず、次のコードから始めましょ

    2022-02-14 12:22:53
  • VS CodeのインストールとGo言語IDEの使用について

    Go言語用IDEとしてのVS Codeのインストールと使用方法 VS Codeは、マイクロソフトが提供するオープンソースのエディタで、豊富なプラグインシステムを備えています。ここでは、VS Codeを使ったgo言語の開発環境を構築する方法を紹介します。 ダウンロードとインストール VSコード公式ダウンロードアドレス 主要な3つのプラットフォームに対応していますので、お

    2022-02-14 11:10:23
  • go言語ブロックチェーン学習スマートコントラクトを呼び出すために

    1. abiファイルを取得する 契約へのインターフェース リミックスツールでコントラクトをコンパイルした後、リミックスツールには KFold(list, n_splits =kflod, shuffle=True) をコピーしたものです。 次に、新しい xx.abi ファイルを作成し、割り当てた値を貼り付けます。 注:コードが変更されたため、再コン

    2022-02-14 07:57:48
  • Go: 構造体を用いたインターフェース実装

    I. 構造体によるインターフェースの実装 1. irisフレームワークの学習をしていると、空の構造体を受け皿にしてメソッドを呼び出すという書き方をよく見かけますが、これをする意味は何なのか、ちょっと気になりますね。 説明します。Goでは、あるインタフェースのすべてのメソッドを実装した構造体を、そのインタフェースを実装した構造体(struct that implements that

    2022-02-14 07:44:23
  • グラフの幅優先探索と深さ優先探索を実装するためのgo言語によるプログラミングを学ぶ

    グラフの実装 グラフは、ノードとその接続関係の集合体である。つまり、ノードを1次元配列で表現し、さらにノード間の関係を2次元配列で表現することができる。 // matrix implementation of the graph typedef struct MGRAPH{ nodes int[]; //nodes edges int[][]; //edges }mG

    2022-02-14 07:33:54
  • Golangで文字列を効率的にスプライスする方法

    01. はじめに プログラミング言語において、文字列は重要なデータ構造である。Golangでは、文字列はアクセスするだけで変更できないため、Golangで文字列のスティッチング操作を行う場合、メモリコピーが必要です。 読者の皆さんがGolang言語のメモリ管理についてご存じなら、メモリコピーがパフォーマンスを低下させることはご存知でしょう。Golangでは文字列を繋げる方法が複数あり

    2022-02-14 06:46:06
  • Goのfoループと条件判定

    I. Forループ Go言語には while ループで、ただ for ループ for variable initialize;condition;variable self-increment/decrement { Contents of the loop body } 1. 基本的な使用方法 for i := 0; i < 10;

    2022-02-14 06:20:25
  • GOウェブデータベース前処理実装

     前回は、データ操作を行いましたが、すべてプレースホルダーを使用しました 実際にmysqlの前処理を使って、これらを操作することができます。 では、前処理とは何か、見ていきましょう。 前処理とは? 前処理とは何かを理解するために、通常のSQL文の実行過程と前処理の過程を比較すると、次のようになります。 通常のsql文の実行処理です。 クライアントは

    2022-02-14 04:22:15
  • Go言語並行プログラミングのための相互排除ロックMutexと読み取り/書き込みロックRWMutex

    並行プログラミングでは、複数の Goroutine Go言語には多くの同期ツールがありますが、今回は相互排他ロックについて紹介します Mut ex と読み取り/書き込みロック RWMutex を使用することができます。 I. 相互排他ロック Mutex 1. ミューテックス入門 Go言語の同期ツールは、主に以下のもので構成されています。 sync パッケージ、

    2022-02-14 02:23:38
  • golangにおける効率的なコーディングの詳細

    xdm、我々はgolangが本質的に高度に並列化され、効率的なコンパイル言語であることを知っています。 しかし、優れたツールも正しく使わなければ意味がないことも知っています。そこで、よくある2つの経路をたどって、その感触を確かめてみましょう 構造体と地図はどちらを使いますか? 計算量が少ないうちは、一時構造体とマップの使い分けがわからないかもしれませんが、計算量が多くなるにつれ

    2022-02-14 02:20:16
  • 2つのcsvの実装例をマージするために移動します。

    背景 普段はpython+pandasでファイルを扱っているのですが、これが実にいい香りなのです。しかし今日、突然goを使って2つのcsvファイルのマージを書くように言われ、2つのcsvをidでマージする必要があり、おおよそ以下のような感じです。 考え方は簡単で、まず2つのcsvファイルを読み込み、それらを繰り返し処理してidを比較し、同じならもう一方のファイルの内容を最初の

    2022-02-14 02:19:20