並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 23 件 / 23件

新着順 人気順

structの検索結果1 - 23 件 / 23件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

structに関するエントリは23件あります。 golanggoprogramming などが関連タグです。 人気エントリには 『【C#】構造体(struct)を完全に理解する - Annulus Games』などがあります。
  • 【C#】構造体(struct)を完全に理解する - Annulus Games

    今回の記事はC#における構造体(struct)について。 複合的なデータを扱う際、多くの場面ではクラス(class)が用いられるかと思います。しかし、パフォーマンスが重要な場面や、GCによる影響が大きいUnityなどでは、状況に応じてクラスではなく構造体を使用した方が良いこともあります。 近年はC#においてもパフォーマンスが重視されるようになり、構造体が用いられる機会も多くなっています。またUnityのDOTSにおいても、C# Job SystemやBurst Compilerに最適化されたコードを書くために構造体を多用することになります。 ここでは構造体に関する基礎的な知識から、クラスと構造体のメモリ管理について、そして実際に構造体を用いる際の注意や活用方法についても解説していきたいと思います。 ただ今回の記事、調子に乗って色々な内容を詰め込んだ結果、めちゃくちゃに長くなってます。そのた

    • Big Sky :: Go の struct は小さくできる(fieldalignment のススメ)

      動的型付けプログラミング言語や、class を持つようなプログラミング言語を使う場合、そのフィールドメンバの定義順などを意識する事は少ないかもしれません。 Go は struct という、C言語が持っている構造体と同じ様にメモリ配置され、構造体そのものをレシーバとして、メソッドを定義しつつプログラミングを行います。struct はデータ構造そのものを示し、それが大きくなるにつれ、当然ながらメモリ使用量も多くなります。 さて、例えば以下のコードを実行すると、struct 100 個分のサイズは幾らになるでしょうか。 package main import ( "fmt" "unsafe" ) type Account struct { TimeZone struct { Name       string `json:"name"` UtcOffset  int    `json:"utc_

        Big Sky :: Go の struct は小さくできる(fieldalignment のススメ)
      • structのメモリ割り当て - Carpe Diem

        概要 Goにおけるstructのメモリ構造を知ることでフィールド順序に対する意識が変わったり、なぜunsafe.Sizeof(string)が16bytesでunsafe.Sizeof(slice)が24bytesになるかが理解できます。 環境 Go 1.15.6 darwin 20.1.0 x86_64 各型のメモリ割り当て unsafe.Sizeof()を使うとその変数がどれくらいメモリを割り振るかが分かります。 ※変数の分確保するメモリであり、参照先のメモリは含みません 型 unsafe.Sizeof() bool 1 int32 4 int 8 float64 8 string 16 []T 24 The Go Playground structのフィールドにそれぞれの型を付けると、その分メモリが割り振られます structのメモリ割り当て 例えばbool, float64, in

          structのメモリ割り当て - Carpe Diem
        • Goで関数の引数に、union型っぽくstruct Aもしくはstruct Bのどちらかを受け取れるようにしたい - $shibayu36->blog;

          Goで関数の引数に、struct Aという型もしくはstruct Bのどちらかを受け取るということをしたかった。interfaceをちゃんと切ってそれに必要なメソッドをAとBに実装することで実現できることを知った上で、あまり丁寧にそういうことをせずにやりたい。 色々調べると、genericsを使うとできるようだ。 package main import "fmt" type A struct { Field1 int } type B struct { Field2 string } type AorB interface { A | B } func PrintAorB[T AorB](s T) { // Tで受け取ったものをそのままs.(type)とは出来ないので、一旦anyへキャスト switch v := any(s).(type) { case A: fmt.Println(v.

            Goで関数の引数に、union型っぽくstruct Aもしくはstruct Bのどちらかを受け取れるようにしたい - $shibayu36->blog;
          • Rust で新しく struct や enum を定義するときに実装を検討する trait まとめ - Qiita

            メモっとかないとよく忘れるんですよ…… (おい) 基本 Clone, Copy Default Debug, Display 比較 PartialEq, Eq PartialOrd, Ord 変換 Deref, DerefMut AsRef, AsMut Borrow, BorrowMut From, TryFrom FromStr ToOwned 出力 Binary Octal LowerHex, UpperHex LowerExp, UpperExp Pointer 特定用途向け エラー用 Error ハッシュテーブルの要素用 Hash コンテナー用 Extend FromIterator IntoIterator 演算子 Sum, Product Add, AddAssign, Sub, SubAssign, Mul, MulAssign, Div, DivAssign, Rem,

              Rust で新しく struct や enum を定義するときに実装を検討する trait まとめ - Qiita
            • RubyのHash、Struct、OpenStruct、Data、Class、ActiveModel、ActiveRecordどうやって使いわけてる? - DIGGLE開発者ブログ

              あるキーに対して値(バリュー)を持つ、いわゆるキーバリューのようなデータ構造はプログラミングでよく使います。Rubyでそれを扱うには複数の選択肢(Hash、Struct、OpenStruct、Data、Class)があり、Ruby on Railsを使う場合さらにActiveModel、ActiveRecordもあります。この記事では私の知っている特徴と、使いわけを紹介します。 こちらはRuby Advent Calendar 2024の12/6日分の記事です。 Rubyアドベントカレンダー6日目に書けたわけではありませんが、Rubyに関係ある記事をタイミングよく公開することになったのと、せっかくなら自分が好きな言語のカレンダーを埋めたい気持になったので参加しました! 私はこう判断してます RDBの読み書きに使いたい? 同じ値を保持しているなら同じ物と考えたい? Hashの柔軟さを制限した

                RubyのHash、Struct、OpenStruct、Data、Class、ActiveModel、ActiveRecordどうやって使いわけてる? - DIGGLE開発者ブログ
              • Swiftで大量のメンバ変数があるclassやstructのinitを自動生成する。 - 文字っぽいの。

                環境 Xcode Version 12.1 Apple Swift version 5.3 課題 開発をしていると、こんな感じでメンバ変数がたっぷりあるclassができます。この例ではclassですが、structも同様ですね。 class SampleClass: Codable { public let id: Int public let title: String public let body: String public let thumbnailUrl: URL public let tags: [String] public let categories: [String] public let createdAt: Date public let updatedAt: Date public let comment: [String] public let isFavor

                  Swiftで大量のメンバ変数があるclassやstructのinitを自動生成する。 - 文字っぽいの。
                • BigQueryのARRAYとSTRUCTを理解して使いこなす - G-gen Tech Blog

                  G-gen の杉村です。BigQuery は通常の運用データベースと異なり、分析用データベースであることから、非正規化したテーブルを扱うことが多くなります。そのための独特のデータ型として、ARRAY (配列) と STRUCT (構造体) があります。これらについて解説します。 概要 ARRAY (配列) ARRAY とは サンプルテーブル SELECT SELECT 〜 WHERE SELECT 〜 CROSS JOIN SELECT (SELECT ~ UNNEST) CREATE TABLE / INSERT 制限 STRUCT (構造体) STRUCT とは サンプルテーブル SELECT SELECT 〜 WHERE CREATE TABLE / INSERT 制限 ARRAY<STRUCT> (ネストされた繰り返し列) ARRAY<STRUCT> とは サンプルテーブル SEL

                    BigQueryのARRAYとSTRUCTを理解して使いこなす - G-gen Tech Blog
                  • interface、structで書くか、functionで書くか

                    始めに この正月に、関数型ドメインモデリングという本を読みました。良書でした。 そこで、今までオブジェクトで書いていたコードを関数としてかけないか?という思いつきでこの記事を書いた結果、なんだか関数型とは関係ない感じの記事になってしまいました。ご容赦ください。 ベースとなるサンプルコード まずはオブジェクト指向でよく使う形のサンプルを用意しました。タスク管理のモデルです。簡単のため、エラーなどはあまり返さないようにしています。 package domain import "fmt" type status string const ( StatusPending status = "pending" StatusDoing status = "doing" StatusDone status = "done" ) func NewStatus(s string) (status, erro

                      interface、structで書くか、functionで書くか
                    • そのstruct、実は不要になるかもしれません - podhmo's diary

                      これはGo Advent Calendar 2020の3日目の記事です。 とりあえずで登録してしまったので、特に肩に力の入った力作などは用意してないです。この記事は、本来のアドベントカレンダーの趣旨に沿った(?)ちょっとした内容の記事にしようと思います。 はじめに断っておくと、あんまり役に立つ内容ではありません。へー、そういうのもあるんだー程度の軽い気持ちで読むことをおすすめします。 goでのweb API用のクライアントライブラリ goでweb API用のライブラリを実装するとき、とくにREST API用のクライアントライブラリを実装してみるときに、パスのネスト構造をそのままstructとして定義する実装をよく見ます。これはstructを一種の名前空間として使うことで名前の衝突を避ける機能、そして実装をちょうど良い粒度で分割するためのアイデアと言えるかもしれません。 例えば、以下のような

                        そのstruct、実は不要になるかもしれません - podhmo's diary
                      • めっちゃ便利なRubyのStructクラスのお話 - Qiita

                        きっかけ とちぎRuby会議09にリモートで参加し、そこで見たLTに今更聞けない! Struct の使い方と今後の可能性についてでRubyのStructクラスについて初めて知った。 なにこれめっちゃ便利じゃん!となったので啓蒙も兼ねて記事を書こう、となったのがきっかけ。 Rubyはかれこれ休み休み10年間は触っているけれど未だに発見がある。素敵!学んでいないだけでは?? Structクラスとは Ruby 2.7.0 リファレンスマニュアル Structクラス 構造体クラス。Struct.new はこのクラスのサブクラスを新たに生成します。 個々の構造体はサブクラスから Struct.new を使って生成します。個々の構造体サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。 自分の解釈で説明すると 任意の名前のプロパティ(とメソッド)を持つオブジェクトをお手軽に作成でき

                          めっちゃ便利なRubyのStructクラスのお話 - Qiita
                        • DBスキーマからGoのstruct定義を生成するグッズを書いた - 私が歌川です

                          GoでSQLを書いて実行するとき、素のdatabase/sqlだけだとさすがに心もとないのでsqlxなどのライブラリを使ってDBの行をstructにマッピングすると思います。db struct tagでマッピング元のカラム名を指定できるのが便利ですね。 一方で、このstructを定義する作業ですが、テーブルのカラムが多いと大変だし、typoしていたので直して再チャレンジする……ということが往々にしてあると思います。 こういうときのためにstruct定義を生成するツールを書いてみました。 go install github.com/utgwkk/rowstructgen@latest を実行したら使えるようになると思います。今のところMySQLにしか対応していません (普段はMySQLしか使っていないため)。main.goに全ての実装が書いてあってひどい感じなので、気が向いたらなおします。

                            DBスキーマからGoのstruct定義を生成するグッズを書いた - 私が歌川です
                          • [GO] structを定義せずにJSONファイルを読み書きしてみた | DevelopersIO

                            GOに入門しています。 GOでJSONを扱う場合、標準サポートされてるencoding/jsonが存在します。 これを使ってJSONを読み込む場合、 多くの場合対応した構造体を用意して読み込むやり方と共に紹介されています。 しかしここ数年ずっとPythonばっかり書いていた私には、これは正直面倒すぎました。。。 おそらくGO的なスタイルとしては構造体を定義した方が正しいんだと思いますが、 私がJSONを読み込みたかった場面はこんな状況でした。 使いたいのはある程度大きなJSONのごく一部 JSONの構造がまだこれから変わりうる 現実として、ある程度大きなJSONを読み込む場合でも 使いたい情報はそのごく一部であることも多いかと思います。 また、その使いたい情報とは全然関係ないところの構造が変わったという時に、 そのために構造体の定義を作り直すことも面倒です。 そこで、できるだけお手軽にJS

                              [GO] structを定義せずにJSONファイルを読み書きしてみた | DevelopersIO
                            • C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct

                              CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

                                C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
                              • 【Ruby】Hashもいいけど、一歩進んでStructを積極的に使おう - Qiita

                                特定の項目について値を保存したりする時にHashはよく使われているかと思います。 しかしながら、Structをあまり使ったことのない方や知らない方も初学者中心にいらっしゃるのではないでしょうか。 Structとはどのようなものなのか、またどのようなケースに有用なのかを是非知っていただきたいと思います。 Structとは Structとは日本語では「構造体」と訳されます。 「構造体」というとっつきにくそうな名前をしていますが、臆することはないです。 「Hashのように保存できる即席クラス」と捉えてください。 Hashはキーバリューストアと呼ばれていて、「キー」と「値」が対に保存されています。 Structもほぼは同じです。 ただし「キー」ではなく「メンバ」と呼ばれており、「メンバ」と「値」が対に保存されています。 あるメンバに値を保存したり、あるメンバの値を取得したりとHashと操作感は似て

                                  【Ruby】Hashもいいけど、一歩進んでStructを積極的に使おう - Qiita
                                • Introducing Struct: a feed-centric chat platform - Struct

                                  For conversations that matter: Struct is a radical new chat platform designed around threads, feeds and AI to 2x your productivity. For conversations that matter: Struct is a radical new chat platform designed around threads, feeds and AI to 2x your productivity. For conversations that matter: Struct is a radical new chat platform designed around threads, feeds and AI to 2x your productivity. Endl

                                    Introducing Struct: a feed-centric chat platform - Struct
                                  • Goでstructが特定のinterfaceを実装してることをコンパイル時にチェックさせる方法

                                    前提条件 本記事に記載したコードはGo 1.19で動作確認したものである. 抱えていた問題 例えば以下のようなコードを書いたとする. package main import "fmt" type A struct{} type I interface { F() } func (a *A) F() { } func f(i I) { } func main() { f(&A{}) fmt.Println("Hello, 世界") } この時,struct A が interface Iを実装しているか保証する手段がなく,コンパイル時まで気付けない. 以前はテストコードでstruct A が interface I 型の変数に代入できるかどうかをチェックするテストを手動で書いていた.しかし関数 f に渡したいstructがどんどん増えると [1] 型チェックをするためのテストケースを毎回書く

                                      Goでstructが特定のinterfaceを実装してることをコンパイル時にチェックさせる方法
                                    • [Tips] 既知の値に対してenumを使うかstructを使うか

                                      はじめに Swiftで、既知の値を表現する方法について、時々コードレビューで指摘することがあるので、記事にしておこうと思います。 この記事では、既知の値に対して以下の3種類の方法を紹介します。 enumで実装する方法 structで実装する方法 enum + structで実装する方法 Swiftに慣れている人にとっては当たり前な内容かもしれませんが、知らない人も一定数いると感じたので、ちょっとしたTipsですが紹介します。 題材のコード 今回は題材として以下のような設定画面を考えます。 この設定画面には各セルに対応するItemがあり、SwiftUIのListを使って、以下のように書かれているとします。 let itmes: [Items] = ... List(item) { item in // itemを使って、セルを作る } セルの種類は以下の3種類とします。 アカウント お問い合

                                        [Tips] 既知の値に対してenumを使うかstructを使うか
                                      • [解決!Python]バイナリファイルを読み書きするには:structモジュール編

                                        # structモジュールを使ってバイナリファイルに書き込み from struct import pack, unpack, calcsize, iter_unpack person = ('かわさき', 120, 99.9) fmt = '20sid'  # 長さ20のバイト列(20s)、整数(i)、倍精度浮動小数点(d) b = pack(fmt, person[0].encode(), person[1], person[2])  # fmtに従ってバイト列化 with open('data.bin', 'wb') as f: f.write(b) # データサイズの計算 data_size = calcsize(fmt) print(data_size)  # 32(このデータは32バイト長) # バイナリファイルから読み込んで、structモジュールを使って復元 with op

                                          [解決!Python]バイナリファイルを読み書きするには:structモジュール編
                                        • RustのstructをRubyのclassとして扱う

                                          user = User.new(4) # 初期化, idの指定 user.name = 'piyo' # nameの指定 user.display # => 'id: 4, name: piyo' ソースコード 今回動作させたコードはこちらのリポジトリに置いた。 https://github.com/koyopro/ruby_object_with_rust READMEにビルドやテストの実行コマンドも記載しているので、動作を見ながら確認できると思う。 連携周りのソースコード 上の項で記載したsrc/user.rs(struct Userの定義)以外で特筆すべきファイルは以下の3つ。 他言語からRustの実装を呼ぶ為のインターフェース定義(src/lib.rs) Ruby-FFIを利用したブリッジの実装(lib/ruby_object_with_rust.rb) Ruby側のUserクラス

                                            RustのstructをRubyのclassとして扱う
                                          • Ruby 3.2 で Struct がチョイ楽になる? - Qiita

                                            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                              Ruby 3.2 で Struct がチョイ楽になる? - Qiita
                                            • GA4データの複雑な構造に立ち向かう(BigQuery:ARRAY,STRUCT)

                                              あなたの心にsession_start。どうも、SQL芸人です。 Google Analyticsの最新版「GA4」では、BigQueryにデータがエクスポートできます。 ですが、データ構造が入り組んだ状態になっていて、ちょっと難しいです。 そこで、今回はそんなデータ構造と戦ってみたいと思います。 GA4のサンプルデータを見てみる 設定方法 Googleが公開しているデータ群「bigquery-public-data」の中に 「ga4_obfuscated_sample_ecommerce」というデータセットがあって そこに「events_」というGA4のサンプルテーブルがあるので、まずはそれを見てみたいと思います。 これを見れるようにする方法は、こちらのページをご参照ください! データを見てみる 設定ができたら、サンプルデータを見てみましょう。 デフォルトの「2021-01-31」テーブ

                                                GA4データの複雑な構造に立ち向かう(BigQuery:ARRAY,STRUCT)
                                              • Swiftのstructとイミュータビリティ

                                                iOSエンジニアのための、SwiftからPythonのライブラリを使って機械学習する方法 / Machine Learning using Python from Swift for iOS Engineer

                                                  Swiftのstructとイミュータビリティ
                                                1

                                                新着記事